class PlaceOS::Model::Trigger::Conditions::Comparison

Defined in:

placeos-models/trigger/conditions.cr

Constant Summary

Log = ::Log.for(self)

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class PlaceOS::Model::SubModel

apply_defaults apply_defaults, assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String))
assign_attributes(model : PlaceOS::Model::SubModel)
assign_attributes
assign_attributes
, attributes attributes, attributes_tuple attributes_tuple, persistent_attributes persistent_attributes, to_reql to_reql

Constructor methods inherited from class PlaceOS::Model::SubModel

new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
new(pull : JSON::PullParser)
new(rs : DB::ResultSet)
new

Class methods inherited from class PlaceOS::Model::SubModel

attributes : Array(Symbol) attributes, from_rs(rs : DB::ResultSet) from_rs

Constructor Detail

def self.from_json(string_or_io : String | IO, trusted : Bool = false) : self #

def self.from_json(string_or_io : String | IO, root : String, trusted : Bool = false) : self #

Deserializes the given JSON in string_or_io into an instance of self, assuming the JSON consists of an JSON object with key root, and whose value is the value to deserialize. Will not deserialise from fields with mass_assign: false

class User < ActiveModel::Model
  attribute name : String
  attribute google_id : UUID, mass_assign: false
end

User.from_json(%({"main": {"name": "Jason", "google_id": "f6f70bfb-c882-446d-8758-7ce47db39620"}}), root: "main") # => #<User:0x103131b20 @name="Jason">

def self.from_trusted_json(string_or_io : String | IO, root : String) : self #

def self.from_trusted_json(string_or_io : String | IO) : self #

Serialize from a trusted JSON source


def self.from_trusted_yaml(string_or_io : String | IO) : self #

Serialize from a trusted YAML source


def self.from_yaml(string_or_io : String | IO, trusted : Bool = false) : self #

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]
def self.new(rs : DB::ResultSet) #

[View source]
def self.new(left : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | ActiveModel::Model::None = ::ActiveModel::Model::None.new, operator : PlaceOS::Model::Trigger::Conditions::Comparison::Operator | ActiveModel::Model::None = ::ActiveModel::Model::None.new, right : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | ActiveModel::Model::None = ::ActiveModel::Model::None.new) #

def self.new(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Initialize PlaceOS::Model::Trigger::Conditions::Comparison from HTTP::Params.


Class Method Detail

def self.attributes : Array(Symbol) #

Returns all attribute keys.


def self.from_rs(rs : DB::ResultSet) #

[View source]

Instance Method Detail

def after_initialize(trusted : Bool) #

def apply_defaults #

Generate code to apply default values


def assign_attributes(left : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Missing = Missing, operator : PlaceOS::Model::Trigger::Conditions::Comparison::Operator | Missing = Missing, right : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Missing = Missing) #

Assign to multiple attributes.


def assign_attributes(params : HTTP::Params | Hash(String, String) | Tuple(String, String)) #

Assign to mulitple attributes via HTTP::Params.


def assign_attributes(model : PlaceOS::Model::Trigger::Conditions::Comparison) #

Assign to multiple attributes from a model object


def assign_attributes_from_json(json, root : String) #

def assign_attributes_from_json(json) #

def assign_attributes_from_trusted_json(json, root : String) #

def assign_attributes_from_trusted_json(json) #

Assign each field from JSON if field exists in JSON and has changed in model


def assign_attributes_from_trusted_yaml(yaml) #

def assign_attributes_from_yaml(yaml) #

Uses the YAML parser as JSON is valid YAML


def attributes #

Returns a Hash of all attribute values


def attributes_tuple #

Returns a NamedTuple of all attribute values.


def changed? #

Check if any attributes have changed.


def changed_attributes #

Returns a Hash with all changed attributes.


def changed_json(io : IO) : Nil #

Serialize the set of changed attributes to JSON.


def changed_json : String #

Serialize the set of changed attributes to JSON.


def changed_yaml(io : IO) : Nil #

Serialize the set of changed attributes to YAML.


def changed_yaml : String #

Serialize the set of changed attributes to YAML.


def clear_changes_information #

Reset changes for all attributes.


def left : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String #

#left getter


def left=(value : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String) #

Setters #left setter


def left? : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil #

Assign instance variable to correct type


def left_assigned? : Bool #

def left_change : Tuple(Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil, Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def left_changed? : Bool #

def left_default : Value #

#left's default value


[View source]
def left_present? : Bool #

def left_was : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil #

def left_will_change! : Nil #

Include #left in the set of changed attributes, whether it has changed or not.


#operator getter


#operator setter


Assign instance variable to correct type


def operator_assigned? : Bool #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def operator_changed? : Bool #

def operator_default : Operator #

#operator's default value


[View source]
def operator_present? : Bool #


def operator_will_change! : Nil #

Include #operator in the set of changed attributes, whether it has changed or not.


def persistent_attributes #

Returns a Hash of all attributes that can be persisted.


def restore_attributes #

Reset each attribute to their previous values and clears all changes.


def right : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String #

#right getter


def right=(value : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String) #

#right setter


def right? : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil #

Assign instance variable to correct type


def right_assigned? : Bool #

def right_change : Tuple(Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil, Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil) | Nil #

Returns a Tuple of the previous and the current value of an instance variable if it has changed


def right_changed? : Bool #

def right_default : Value #

#right's default value


[View source]
def right_present? : Bool #

def right_was : Bool | Float64 | Int64 | PlaceOS::Model::Trigger::Conditions::Comparison::StatusVariable | String | Nil #

def right_will_change! : Nil #

Include #right in the set of changed attributes, whether it has changed or not.


def validate_nilability #

Validate that all non-nillable fields have values.