#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 |