Class: Cocupu::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/cocupu/model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Model

Returns a new instance of Model.



4
5
6
7
# File 'lib/cocupu/model.rb', line 4

def initialize(values)
  self.conn = Thread.current[:cocupu_connection] 
  self.values = values
end

Instance Attribute Details

#connObject

Returns the value of attribute conn.



3
4
5
# File 'lib/cocupu/model.rb', line 3

def conn
  @conn
end

#valuesObject

Returns the value of attribute values.



3
4
5
# File 'lib/cocupu/model.rb', line 3

def values
  @values
end

Instance Method Details

#associations=(fields) ⇒ Object



41
42
43
# File 'lib/cocupu/model.rb', line 41

def associations=(fields)
  values['associations'] = fields
end

#fields=(fields) ⇒ Object



37
38
39
# File 'lib/cocupu/model.rb', line 37

def fields=(fields)
  values['fields'] = fields
end

#idObject



45
46
47
# File 'lib/cocupu/model.rb', line 45

def id
  values['id']
end

#id=(id) ⇒ Object



33
34
35
# File 'lib/cocupu/model.rb', line 33

def id=(id)
  values['id'] = id
end

#identityObject



17
18
19
# File 'lib/cocupu/model.rb', line 17

def identity
  values['identity']
end

#label=(label) ⇒ Object



13
14
15
# File 'lib/cocupu/model.rb', line 13

def label=(label)
  values['label'] = label
end

#nameObject



9
10
11
# File 'lib/cocupu/model.rb', line 9

def name
  values['name']
end

#poolObject



21
22
23
# File 'lib/cocupu/model.rb', line 21

def pool
  values['pool']
end

#saveObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/cocupu/model.rb', line 49

def save
  #req_url = "http://#{host}:#{port}#{url}.json?auth_token=#{token}"
  response = if id
    conn.put("#{url}.json", body: {model: values})
  else
    conn.post("#{url}.json", body: {model: values})
  end
  raise "Error saving models: #{response.inspect}" unless response.code >= 200 and response.code < 300
  if (response['id'])
    self.id = response['id']
    self.url = response['url']
  end
  values
end

#urlObject



25
26
27
# File 'lib/cocupu/model.rb', line 25

def url
  values['url'] || "/#{identity}/#{pool}/models"
end

#url=(url) ⇒ Object



29
30
31
# File 'lib/cocupu/model.rb', line 29

def url=(url)
  values['url'] = url
end