Class: Waterworks::PipelineObject::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/waterworks/pipeline_object.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, string_value: nil, ref_value: nil) ⇒ Field

Returns a new instance of Field.



130
131
132
133
134
# File 'lib/waterworks/pipeline_object.rb', line 130

def initialize(key, string_value: nil, ref_value: nil)
  @key = key
  @string_value = string_value unless string_value.nil?
  @ref_value = ref_value unless ref_value.nil?
end

Instance Attribute Details

#keyObject

Returns the value of attribute key.



128
129
130
# File 'lib/waterworks/pipeline_object.rb', line 128

def key
  @key
end

#ref_valueObject

Returns the value of attribute ref_value.



128
129
130
# File 'lib/waterworks/pipeline_object.rb', line 128

def ref_value
  @ref_value
end

#string_valueObject

Returns the value of attribute string_value.



128
129
130
# File 'lib/waterworks/pipeline_object.rb', line 128

def string_value
  @string_value
end

Class Method Details

.from_hash(hash) ⇒ Object



180
181
182
183
184
185
186
# File 'lib/waterworks/pipeline_object.rb', line 180

def self.from_hash(hash)
  hash = Util.indifferentify(hash)
  field = Field.new
  field.key = hash[:key]
  field.string_value = hash[:string_value] if hash[:string_value]
  field.ref_value = hash[:ref_value] if hash[:ref_value]
end

Instance Method Details

#<=>(obj) ⇒ Object



176
177
178
# File 'lib/waterworks/pipeline_object.rb', line 176

def <=>(obj)
  key <=> obj.key
end

#get_valueObject



146
147
148
149
# File 'lib/waterworks/pipeline_object.rb', line 146

def get_value
  return @string_value unless @string_value.nil?
  @ref_value
end

#set_ref_value(val) ⇒ Object



141
142
143
144
# File 'lib/waterworks/pipeline_object.rb', line 141

def set_ref_value(val)
  @ref_value = val
  self
end

#set_string_value(val) ⇒ Object



136
137
138
139
# File 'lib/waterworks/pipeline_object.rb', line 136

def set_string_value(val)
  @string_value = val
  self
end

#sourceifyObject



196
197
198
199
200
201
202
203
204
# File 'lib/waterworks/pipeline_object.rb', line 196

def sourceify
  key = "PipelineObject::Field.new(\"#{@key}\")"
  if @string_value.respond_to? :each

  end
  key << ".set_string_value(\"#{@string_value.gsub('#', '\\#')}\")" if @string_value
  key << ".set_ref_value(\"#{@ref_value}\")" if @ref_value
  key
end

#sourceify_as_attrObject



188
189
190
191
192
193
194
# File 'lib/waterworks/pipeline_object.rb', line 188

def sourceify_as_attr
  if @key == '*password'.to_sym
    "'#{key}'.to_sym => \"#{get_value}\""
  else
    "#{key}: #{get_value.dump}"
  end
end

#to_fhashObject



164
165
166
167
168
169
170
171
# File 'lib/waterworks/pipeline_object.rb', line 164

def to_fhash
  output = {
    key: @key
  }
  output[:string_value] = @string_value if @string_value
  output[:ref_value] = @ref_value if @ref_value
  output
end

#to_hashObject



155
156
157
158
159
160
161
162
# File 'lib/waterworks/pipeline_object.rb', line 155

def to_hash
  value = @string_value if @string_value
  value = { ref: @ref_value } if value.nil?
  hash = {
    @key => value
  }
  hash
end

#to_jsonObject



151
152
153
# File 'lib/waterworks/pipeline_object.rb', line 151

def to_json
  JSON.generate(to_hash)
end

#validateObject



173
174
# File 'lib/waterworks/pipeline_object.rb', line 173

def validate
end