ruby-redtail 0.3.1 → 0.3.2

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjQzZWNiNDRhYzMyMTE1MTI3YzhjOGM2NDQzM2E4ZjVlNWUzZjg1Mw==
4
+ NTYwZWYzZDI2OGU4MWE3N2JmZDE4ZGU5MjEyM2I5YTA3OWJiMDkyMQ==
5
5
  data.tar.gz: !binary |-
6
- MjYxZWQ1NjU3N2E1MDM3ZjMxNmVlY2I4MWFiNDY5ODYxYWU3ZjhlNg==
6
+ MzkyYzVjNWE1MjMxYTA0NWQzMTRlMjYxNzA3YTU4OGUwYzVlNzEzNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGM5YTM1MzI4MzYxYzdiZDdmN2FmN2YzNjQ0NmE4YzJkNTNhNjU1Mjg5MmFk
10
- ZDcxZGM5MjQwYzliMTFmM2JlNjA3MGQ5MmY3MTVjN2UyYWRkNTEwNGUwNTYz
11
- YWZhYjYxZDM1NmYzOGQ1OTQzNTU4MzYzZDgyOTE0NDIyM2YxMGE=
9
+ NGY4OWEzZWUxYzk4ZDZiZWZmMjZiMGE5YmZmZDc0YjU0ODQzNjQ5ZDc5N2U2
10
+ ZGQ1ZTZkOWI0OGVhNDkxMDJiNjcxMzc1NmYxMWE5ZTM2MTRjMWQ0NjIxNWU0
11
+ MDgxMmYyMjkwZjMyMzgxMzQxYzJiY2JlOGVlOTU1ZWY1N2IxNGQ=
12
12
  data.tar.gz: !binary |-
13
- NTI2NzYwNGY5ODI2M2U4NjQxMmU1OTUxYjVjNzczZjc4YjU5ZDQ5ZGM5OGI5
14
- MjFiNWM1OGZhNGI4ZDcyODdiNzEzZTVmYWJiZDJhZTYzMmYzOWM4ODhjODNk
15
- YmM0ZDczYmYyZmRjZGY3N2Y0MDQwOWYwZmYxZmE3OWQ2NzNiMzY=
13
+ MzNjNzMyMjgyNjQ1NDRmNzk1NGMwM2QyMTU1YzU1M2U2OGY1YTI5NzdkYmQ4
14
+ ZmEzMDAyZTEzMmYyZTg1NGQ0MTA5YWU1OWNhNmY2NzYyMDI0MWYxZTZhMTcw
15
+ NjY0YjJlNTliNWYwOTRlYzg3YjEyZTc1NTc5YjZhZTc2YWYwM2I=
@@ -58,7 +58,7 @@ This works too:
58
58
 
59
59
  === Fetching Settings
60
60
 
61
- redtail_user.settings.taggroups
61
+ redtail_user.settings.tag_groups
62
62
 
63
63
  === Fetching Contacts
64
64
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -2,6 +2,7 @@ require "base64"
2
2
  require 'httparty'
3
3
 
4
4
  require 'ruby-redtail/user'
5
+ require 'ruby-redtail/tag_group'
5
6
  require 'ruby-redtail/exceptions'
6
7
  require 'ruby-redtail/query'
7
8
 
@@ -1,3 +1,9 @@
1
+ require 'ruby-redtail/contact/tag_groups'
2
+ require 'ruby-redtail/contact/notes'
3
+ require 'ruby-redtail/contact/accounts'
4
+ require 'ruby-redtail/contact/activities'
5
+ require 'ruby-redtail/contact/addresses'
6
+
1
7
  module RubyRedtail
2
8
  class Contact
3
9
  attr_accessor :api_hash, :id
@@ -1,19 +1,41 @@
1
1
  module RubyRedtail
2
- class TagGroups
3
- def initialize api_hash
4
- @api_hash = api_hash
5
- end
6
-
7
- def fetch(tag_id)
8
- RubyRedtail::Query.run("taggroups/#{tag_id}", @api_hash, "GET")
9
- end
10
-
11
- def fetch_contacts(tag_id)
12
- RubyRedtail::Query.run("taggroups/#{tag_id}/contacts", @api_hash, "GET")
13
- end
2
+ class Contact
3
+ class TagGroups
4
+ def initialize(contact_id,api_hash)
5
+ @api_hash = api_hash
6
+ @contact_id = contact_id
7
+ end
8
+
9
+ # def fetch(tag_id)
10
+ # RubyRedtail::Query.run("tag_groups/#{tag_id}", @api_hash, "GET")
11
+ # end
12
+ #
13
+ # def fetch_contacts(tag_id)
14
+ # RubyRedtail::Query.run("tag_groups/#{tag_id}/contacts", @api_hash, "GET")
15
+ # end
16
+
17
+ def fetch
18
+ build_tag_groups_array RubyRedtail::Query.run("contacts/#{@contact_id}/taggroups", @api_hash, "GET")["ArrayOfTagGroup"]
19
+ end
20
+
21
+ private
22
+
23
+ def build_tag_group tag_group_hash
24
+ if tag_group_hash
25
+ RubyRedtail::TagGroup.new(tag_group_hash,@api_hash)
26
+ else
27
+ raise RubyRedtail::AuthenticationError
28
+ end
29
+ end
14
30
 
15
- def fetch_by_contact(contact_id)
16
- RubyRedtail::Query.run("contacts/#{contact_id}/taggroups", @api_hash, "GET")
31
+ def build_tag_groups_array tag_group_hashes
32
+ if tag_group_hashes
33
+ tag_group_hashes.collect { |tag_group_hash| self.build_tag_group tag_group_hash }
34
+ else
35
+ raise RubyRedtail::AuthenticationError
36
+ end
37
+ end
38
+
17
39
  end
18
40
  end
19
41
  end
@@ -1,8 +1,12 @@
1
1
  module RubyRedtail
2
- class Taggroup
3
- def initialize(setting = {},api_hash)
2
+ class TagGroup
3
+
4
+ def initialize(tag_group = {},api_hash)
4
5
  @api_hash = api_hash
5
6
 
7
+ raise ArgumentError unless tag_group['RecID']
8
+ @id = tag_group['RecID']
9
+
6
10
  raise ArgumentError if setting.class != Hash
7
11
  setting.each do |key, value|
8
12
  key = key.underscore
@@ -10,5 +14,10 @@ module RubyRedtail
10
14
  instance_variable_set "@#{key}", value
11
15
  end
12
16
  end
17
+
18
+ def contacts
19
+ RubyRedtail::TagGroup::Contacts.new self.api_hash
20
+ end
21
+
13
22
  end
14
23
  end
@@ -0,0 +1,33 @@
1
+ module RubyRedtail
2
+ class TagGroup
3
+ class Contacts
4
+ def initialize(tag_group_id,api_hash)
5
+ @api_hash = api_hash
6
+ @tag_group_id = tag_group_id
7
+ end
8
+
9
+ def fetch
10
+ build_contacts_array RubyRedtail::Query.run("taggroups/#{@tag_group_id}/contacts", @api_hash, "GET")["TagMember_Result"]["TagMembers"]
11
+ end
12
+
13
+ private
14
+
15
+ def build_contact contact_hash
16
+ if contact_hash
17
+ RubyRedtail::Contact.new(contact_hash,@api_hash)
18
+ else
19
+ raise RubyRedtail::AuthenticationError
20
+ end
21
+ end
22
+
23
+ def build_contacts_array contact_hashes
24
+ if contact_hashes
25
+ contact_hashes.collect { |contact_hash| self.build_contact contact_hash }
26
+ else
27
+ raise RubyRedtail::AuthenticationError
28
+ end
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -34,8 +34,8 @@ module RubyRedtail
34
34
 
35
35
  # Tag Groups Fetch
36
36
  # returns a list of Tag Groups for a user's Database.
37
- def taggroups
38
- build_settings_array RubyRedtail::Query.run("settings/taggroups", @api_hash, "GET")
37
+ def tag_groups
38
+ build_tag_groups_array RubyRedtail::Query.run("settings/taggroups", @api_hash, "GET")
39
39
  end
40
40
 
41
41
  # Contact Status List Fetch
@@ -92,13 +92,29 @@ module RubyRedtail
92
92
  end
93
93
  end
94
94
 
95
- def build_taggroup taggroup_hash
96
- RubyRedtail::Taggroup.new(taggroup_hash,@api_hash)
95
+ def build_tag_group tag_group_hash
96
+ RubyRedtail::Taggroup.new(tag_group_hash,@api_hash)
97
97
  end
98
98
 
99
- def build_taggroups_array taggroup_hashes
100
- if taggroup_hashes
101
- taggroup_hashes.collect { |taggroup_hash| self.build_taggroup taggroup_hash }
99
+ def build_tag_groups_array tag_group_hashes
100
+ if tag_group_hashes
101
+ tag_group_hashes.collect { |tag_group_hash| self.build_tag_group tag_group_hash }
102
+ else
103
+ raise RubyRedtail::AuthenticationError
104
+ end
105
+ end
106
+
107
+ def build_tag_group tag_group_hash
108
+ if tag_group_hash
109
+ RubyRedtail::TagGroup.new(tag_group_hash,@api_hash)
110
+ else
111
+ raise RubyRedtail::AuthenticationError
112
+ end
113
+ end
114
+
115
+ def build_tag_groups_array tag_group_hashes
116
+ if tag_group_hashes
117
+ tag_group_hashes.collect { |tag_group_hash| self.build_tag_group tag_group_hash }
102
118
  else
103
119
  raise RubyRedtail::AuthenticationError
104
120
  end
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: ruby-redtail 0.3.1 ruby lib
5
+ # stub: ruby-redtail 0.3.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "ruby-redtail"
9
- s.version = "0.3.1"
9
+ s.version = "0.3.2"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["Nathan Colgate"]
@@ -40,7 +40,8 @@ Gem::Specification.new do |s|
40
40
  "lib/ruby-redtail/query.rb",
41
41
  "lib/ruby-redtail/setting.rb",
42
42
  "lib/ruby-redtail/sso.rb",
43
- "lib/ruby-redtail/taggroup.rb",
43
+ "lib/ruby-redtail/tag_group.rb",
44
+ "lib/ruby-redtail/tag_group/contacts.rb",
44
45
  "lib/ruby-redtail/user.rb",
45
46
  "lib/ruby-redtail/user/contacts.rb",
46
47
  "lib/ruby-redtail/user/settings.rb",
@@ -30,10 +30,10 @@ class UserSettingsTest < Test::Unit::TestCase
30
30
  assert_equal(RubyRedtail::Setting, udf.first.class)
31
31
  end
32
32
 
33
- should "be able to fetch user taggroups" do
34
- taggroups = @user.settings.taggroups
35
- assert_equal(Array, taggroups.class)
36
- assert_equal(RubyRedtail::Taggroup, taggroups.first.class)
33
+ should "be able to fetch user tag groups" do
34
+ tag_groups = @user.settings.tag_groups
35
+ assert_equal(Array, tag_groups.class)
36
+ assert_equal(RubyRedtail::TagGroup, tag_groups.first.class)
37
37
  end
38
38
 
39
39
  should "be able to fetch user csl" do
@@ -15,52 +15,52 @@ class UserTest < Test::Unit::TestCase
15
15
 
16
16
  should "be able to fetch user data via Basic authentication" do
17
17
  user = RubyRedtail::User.new('Basic', @redtail_user_name, @redtail_user_password)
18
- assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
18
+ assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
19
19
  end
20
20
 
21
21
  should "be able to fetch user data via UserKey authentication" do
22
22
  user = RubyRedtail::User.new('UserKey', @redtail_user_key)
23
- assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
23
+ assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
24
24
  end
25
25
 
26
26
  should "be able to fetch user data via UserToken authentication" do
27
27
  # TODO: We need a user token
28
28
  # user = RubyRedtail::User.new('UserToken',@redtail_user_token)
29
- # assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
29
+ # assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
30
30
  end
31
31
 
32
32
  should "be able to fetch user data via Basic authentication block" do
33
33
  RubyRedtail::User.authenticate_via_basic(@redtail_user_name, @redtail_user_password) do |user|
34
- assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
34
+ assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
35
35
  end
36
36
  end
37
37
 
38
38
  should "be able to fetch user data via UserKey authentication block" do
39
39
  RubyRedtail::User.authenticate_via_user_key(@redtail_user_key) do |user|
40
- assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
40
+ assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
41
41
  end
42
42
  end
43
43
 
44
44
  should "be able to fetch user data via UserToken authentication block" do
45
45
  # TODO: We need a user token
46
46
  # RubyRedtail::User.authenticate_via_user_token(@redtail_user_token) do |user|
47
- # assert_nothing_raised(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
47
+ # assert_nothing_raised(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
48
48
  # end
49
49
  end
50
50
 
51
51
  should "not be able to fetch user data via faulty Basic authentication" do
52
52
  user = RubyRedtail::User.new('Basic', @redtail_user_name, 'hacker_hackity_hack')
53
- assert_raise(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
53
+ assert_raise(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
54
54
  end
55
55
 
56
56
  should "not be able to fetch user data via faulty UserKey authentication" do
57
57
  user = RubyRedtail::User.new('UserKey', 'hacker_hackity_hack')
58
- assert_raise(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
58
+ assert_raise(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
59
59
  end
60
60
 
61
61
  should "not be able to fetch user data via faulty UserToken authentication" do
62
62
  user = RubyRedtail::User.new('UserToken', 'hacker_hackity_hack')
63
- assert_raise(RubyRedtail::AuthenticationError) {taggroups = user.settings.taggroups }
63
+ assert_raise(RubyRedtail::AuthenticationError) {tag_groups = user.settings.tag_groups }
64
64
  end
65
65
 
66
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-redtail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Colgate
@@ -138,7 +138,8 @@ files:
138
138
  - lib/ruby-redtail/query.rb
139
139
  - lib/ruby-redtail/setting.rb
140
140
  - lib/ruby-redtail/sso.rb
141
- - lib/ruby-redtail/taggroup.rb
141
+ - lib/ruby-redtail/tag_group.rb
142
+ - lib/ruby-redtail/tag_group/contacts.rb
142
143
  - lib/ruby-redtail/user.rb
143
144
  - lib/ruby-redtail/user/contacts.rb
144
145
  - lib/ruby-redtail/user/settings.rb