ruby-redtail 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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