contacts_client 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,7 @@ class PadmaContact < LogicalModel
28
28
  :telephone, # Primary telephone (contact attribute)
29
29
  :in_active_merge
30
30
  ]
31
- self.has_many_keys = [:contact_attributes, :attachments]
31
+ self.has_many_keys = [:contact_attributes, :attachments, :tags]
32
32
  self.use_api_key = true
33
33
  self.api_key_name = "app_key"
34
34
  self.api_key = Contacts::API_KEY
@@ -42,6 +42,7 @@ class PadmaContact < LogicalModel
42
42
 
43
43
  validates_associated :contact_attributes
44
44
  validates_associated :attachments
45
+ validates_associated :tags
45
46
 
46
47
  def json_root
47
48
  :contact
data/app/models/tag.rb ADDED
@@ -0,0 +1,58 @@
1
+ class Tag < LogicalModel
2
+ attr_accessor :name
3
+
4
+ self.attribute_keys = [:_id, :name, :contact_ids, :account_name]
5
+
6
+ self.hydra = Contacts::HYDRA
7
+ self.resource_path = "/v0/tags"
8
+ self.use_api_key = true
9
+ self.api_key_name = "app_key"
10
+ self.api_key = Contacts::API_KEY
11
+ self.host = Contacts::HOST
12
+
13
+ validates :name, :presence => true
14
+
15
+ def json_root
16
+ :tag
17
+ end
18
+
19
+ def to_key
20
+ [self._id]
21
+ end
22
+
23
+ def id
24
+ self._id
25
+ end
26
+
27
+ def id= id
28
+ self._id = id
29
+ end
30
+
31
+
32
+ # Returns all the tags associated with a given account
33
+ def self.account_tags(account_name)
34
+ params = { account_name: account_name }
35
+ params = self.merge_key(params)
36
+
37
+
38
+ response = nil
39
+ Timeout::timeout(self.timeout/1000) do
40
+ response = Typhoeus::Request.get( "#{url_protocol_prefix}#{self.host}/v0/accounts/#{account_name}/tags", :params => params, :timeout => self.timeout )
41
+ end
42
+
43
+ if response.code == 200
44
+ log_ok(response)
45
+ result_set = self.from_json(response.body)
46
+ return result_set[:collection]
47
+ elsif response.code == 400
48
+ log_failed(response)
49
+ return false
50
+ else
51
+ log_failed(response)
52
+ return nil
53
+ end
54
+ rescue Timeout::Error
55
+ self.logger.warn "timeout"
56
+ return nil
57
+ end
58
+ end
metadata CHANGED
@@ -1,66 +1,61 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: contacts_client
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 10
9
- version: 0.0.10
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.11
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Dwayne Macgowan
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2013-02-14 00:00:00 -03:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-05-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: railties
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 3
30
- - 1
31
- version: "3.1"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: logical_model
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: logical_model
32
+ requirement: !ruby/object:Gem::Requirement
38
33
  none: false
39
- requirements:
34
+ requirements:
40
35
  - - ~>
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 0
44
- - 4
45
- - 1
36
+ - !ruby/object:Gem::Version
46
37
  version: 0.4.1
47
38
  type: :runtime
48
- version_requirements: *id002
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.1
49
46
  description: This is client library for padma-Contacts-ws
50
- email:
47
+ email:
51
48
  - dwaynemac@gmail.com
52
49
  executables: []
53
-
54
50
  extensions: []
55
-
56
51
  extra_rdoc_files: []
57
-
58
- files:
52
+ files:
59
53
  - app/validators/email_format_validator.rb
60
54
  - app/models/date_attribute.rb
61
55
  - app/models/address.rb
62
56
  - app/models/identification.rb
63
57
  - app/models/email.rb
58
+ - app/models/tag.rb
64
59
  - app/models/telephone.rb
65
60
  - app/models/custom_attribute.rb
66
61
  - app/models/social_network_id.rb
@@ -74,37 +69,34 @@ files:
74
69
  - lib/contacts/railties.rb
75
70
  - lib/contacts/belongs_to_contact.rb
76
71
  - config/initializers/contacts_client.rb
77
- has_rdoc: true
78
- homepage: ""
72
+ homepage: ''
79
73
  licenses: []
80
-
81
74
  post_install_message:
82
75
  rdoc_options: []
83
-
84
- require_paths:
76
+ require_paths:
85
77
  - lib
86
- required_ruby_version: !ruby/object:Gem::Requirement
78
+ required_ruby_version: !ruby/object:Gem::Requirement
87
79
  none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- segments:
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ segments:
92
85
  - 0
93
- version: "0"
94
- required_rubygems_version: !ruby/object:Gem::Requirement
86
+ hash: -735541987
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
88
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- segments:
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ segments:
100
94
  - 0
101
- version: "0"
95
+ hash: -735541987
102
96
  requirements: []
103
-
104
97
  rubyforge_project:
105
- rubygems_version: 1.3.7.1
98
+ rubygems_version: 1.8.25
106
99
  signing_key:
107
100
  specification_version: 3
108
101
  summary: Client library for padma-contacts-ws
109
102
  test_files: []
110
-