#Frontend ##Technologies
###HTML ###CSS
###Ember https://en.wikipedia.org/wiki/Ember.js
###Websocket
| -- create_table("upc_offers", {:id=>:bigint, :unsigned=>true, :force=>:cascade, :options=>"ENGINE=InnoDB DEFAULT CHARSET=utf8"}) | |
| rake aborted! | |
| StandardError: An error has occurred, all later migrations canceled: | |
| Mysql2::Error: Invalid default value for 'updated_t': CREATE TABLE `upc_offers` (`id` bigint unsigned AUTO_INCREMENT PRIMARY KEY, `upc_details_id` bigint unsigned DEFAULT 0 NOT NULL, `merchant` varchar(100) DEFAULT '', `domain` varchar(100) DEFAULT '', `title` varchar(512) DEFAULT '', `currency` varchar(3) DEFAULT 'USD', `list_price` decimal(9,2) DEFAULT '0.0', `price` decimal(9,2) DEFAULT '0.0', `shipping` varchar(100) DEFAULT '', `condition` varchar(32) DEFAULT '', `availability` varchar(32) DEFAULT '', `link` varchar(512) DEFAULT '', `updated_t` datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, INDEX `domain` USING btree (`domain`), INDEX `merchant` USING btree (`merchant`), INDEX `title` USING btree (`title`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 | |
| /usr/local/bundle/gems/mysql2-0.4.4/lib/mysql2/client. |
| import Ember from 'ember'; | |
| export default Ember.Route.extend({ | |
| currentUser: Ember.inject.service(), | |
| model(params){ | |
| const username = params.username; | |
| return Ember.RSVP.hash({ | |
| user: this.store.query('user', {filter: {username: username}}), |
| //store-todo.js | |
| import DS from 'ember-data'; | |
| export default DS.Model.extend({ | |
| description: DS.attr('string'), | |
| name: DS.attr('string'), | |
| storeTodoStatuses: DS.hasMany('store-todo-status') | |
| }); | |
| //store-todo-status.js |
#Frontend ##Technologies
###HTML ###CSS
###Ember https://en.wikipedia.org/wiki/Ember.js
###Websocket
| (deftemplate student | |
| (slot name) | |
| (slot labPoints (default 0)) | |
| (slot examPoints (default 0)) | |
| (slot presences (default 0)) | |
| (defrule failFromLab | |
| ?fact <- (student (labPoints ?labpoints)) | |
| (test (eq ?labpoints 0)) | |
| => |
| # Serializer classes | |
| class Job < JSONAPISerializer | |
| attributes :name | |
| end | |
| class PersonSerializer < JSONAPISerializer | |
| attributes :name, :age | |
| has_many :jobs, path: :current_jobs, included: true | |
| end |
| // I try to use rapidoid from jruby | |
| On.get("/showVerb").json(req -> req.verb()); | |
| // I tried in ruby, but the lambda does't get called | |
| // l = -> req do | |
| // req.verb | |
| // end | |
| // | |
| // On.get("/showVerb").json(l) |
| #helpers/hash_store.rb | |
| module HashStore | |
| def my_hash | |
| {ok: true} | |
| end | |
| end | |
| #controllers/my_controller.rb | |
| class MyController < ActionController::Base | |
| include HashStore |
| class AdImageHandler | |
| attr_reader :model, :data, :file_path, :file_name | |
| def initialize(model, data, image_index) | |
| @model = model | |
| @data = data | |
| @file_name = SecureRandom.uuid | |
| @file_path = AdImageHandler.generate_image_path(@file_name) | |
| @image_index = image_index | |
| end |
| def start_ember_app | |
| ember_pid = Process.spawn({}, 'ember s --proxy http://localhost:3000', {chdir: Rails.root.parent.join('frontend').to_s}) | |
| Process.detach ember_pid | |
| rails_pid = Process.spawn({'RAILS_ENV' => 'test'}, 'rails s', {}) | |
| Process.detach rails_pid | |
| [ember_pid, rails_pid] | |
| end |