Class: KMDB::Event
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- KMDB::Event
- Includes:
- BelongsToUser, CustomRecord, HasProperties
- Defined in:
- lib/kmdb/models/event.rb
Class Method Summary collapse
Instance Method Summary collapse
- #name ⇒ Object
-
#prop(name) ⇒ Object
return value of property.
Methods included from HasProperties
Methods included from BelongsToUser
Methods included from CustomRecord
Class Method Details
.mass_create(values_strings) ⇒ Object
50 51 52 53 54 |
# File 'lib/kmdb/models/event.rb', line 50 def self.mass_create(values_strings) return if values_strings.empty? sql_insert = "INSERT INTO `#{table_name}` (`id`, `t`, `n`, `user_id`) VALUES\n" connection.execute(sql_insert + values_strings.join(",\n")) end |
.sql_for(hash) {|event_sql, properties_sql| ... } ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/kmdb/models/event.rb', line 35 def self.sql_for(hash) user_name = hash.delete('_p') user = User.find_or_create(name: user_name) raise UserError.new "User missing for '#{user_name}'" unless user.present? stamp = Time.at hash.delete('_t') key = Key.get hash.delete('_n').scrub event_id = GlobalUID.get(:event) event_sql = sanitize_sql_array(["(?,?,?,?)", event_id, stamp, key, user.id]) properties_sql = Property.sql_for(hash, stamp: stamp, user: user, event_id: event_id) yield event_sql, properties_sql end |
Instance Method Details
#name ⇒ Object
31 32 33 |
# File 'lib/kmdb/models/event.rb', line 31 def name KMDB::Key.find(n).string end |
#prop(name) ⇒ Object
return value of property
23 24 25 26 27 28 29 |
# File 'lib/kmdb/models/event.rb', line 23 def prop(name) if p = properties.named(name).first p.value else nil end end |