Class: MacroObject
- Inherits:
-
Object
- Object
- MacroObject
- Defined in:
- lib/ruby-macrodroid/base.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
Returns the value of attribute options.
-
#siguid ⇒ Object
readonly
Returns the value of attribute siguid.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(h = {}) ⇒ MacroObject
constructor
A new instance of MacroObject.
- #to_h ⇒ Object
- #to_s(colour: false) ⇒ Object (also: #to_summary)
Constructor Details
#initialize(h = {}) ⇒ MacroObject
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/ruby-macrodroid/base.rb', line 70 def initialize(h={}) $env ||= {} @attributes = %i(constraint_list is_or_condition is_disabled siguid) @h = {constraint_list: [], is_or_condition: false, is_disabled: false, siguid: nil}.merge(h) @list = [] # fetch the class name and convert from camelCase to snake_eyes @type = self.class.to_s.sub(/Trigger|Action$/,'')\ .gsub(/\B[A-Z][a-z]/){|x| '_' + x.downcase}\ .gsub(/[a-z][A-Z]/){|x| x[0] + '_' + x[1].downcase}\ .downcase.to_sym @constraints = [] end |
Instance Attribute Details
#options ⇒ Object
Returns the value of attribute options.
68 69 70 |
# File 'lib/ruby-macrodroid/base.rb', line 68 def @options end |
#siguid ⇒ Object (readonly)
Returns the value of attribute siguid.
67 68 69 |
# File 'lib/ruby-macrodroid/base.rb', line 67 def siguid @siguid end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
67 68 69 |
# File 'lib/ruby-macrodroid/base.rb', line 67 def type @type end |
Instance Method Details
#to_h ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/ruby-macrodroid/base.rb', line 87 def to_h() h = @h h2 = h.inject({}) do |r,x| puts 'x: ' + x.inspect if @debug key, value = x puts 'key: ' + key.inspect if @debug new_key = key.to_s.gsub(/\w_\w/){|x| x[0] + x[-1].upcase} new_key = new_key.prepend 'm_' unless @list.include? new_key new_key = 'm_SIGUID' if new_key == 'm_siguid' r.merge(new_key => value) end h2.merge('m_classType' => self.class.to_s) end |
#to_s(colour: false) ⇒ Object Also known as: to_summary
109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/ruby-macrodroid/base.rb', line 109 def to_s(colour: false) h = @h.clone h.delete :macro @s ||= "#<%s %s>" % [self.class, h.inspect] operator = @h[:is_or_condition] ? 'OR' : 'AND' constraints = @constraints.map \ {|x| x.to_summary(colour: colour)}.join(" %s " % operator) @s + constraints end |