the-city-admin 0.3.1 → 0.4.0

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.
data/.gitignore CHANGED
@@ -4,4 +4,5 @@ doc/*
4
4
  the-city-admin-*.gem
5
5
  bin/
6
6
  .bundle/
7
- .rbenv-version
7
+ .rbenv-version
8
+ index.rb
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'typhoeus', '0.4.2'
3
+ gem 'typhoeus', '0.5.1'
4
4
  gem 'json'
5
5
 
6
6
  group :development, :test do
data/Gemfile.lock CHANGED
@@ -16,9 +16,12 @@ GEM
16
16
  debugger-ruby_core_source (>= 1.1.1)
17
17
  debugger-ruby_core_source (1.1.3)
18
18
  diff-lcs (1.1.3)
19
+ ethon (0.5.3)
20
+ ffi (~> 1.0.11)
21
+ mime-types (~> 1.18)
19
22
  factory_girl (4.0.0)
20
23
  activesupport (>= 3.0.0)
21
- ffi (1.1.5)
24
+ ffi (1.0.11)
22
25
  i18n (0.6.1)
23
26
  json (1.7.5)
24
27
  mime-types (1.19)
@@ -31,9 +34,8 @@ GEM
31
34
  rspec-expectations (2.11.2)
32
35
  diff-lcs (~> 1.1.3)
33
36
  rspec-mocks (2.11.2)
34
- typhoeus (0.4.2)
35
- ffi (~> 1.0)
36
- mime-types (~> 1.18)
37
+ typhoeus (0.5.1)
38
+ ethon (= 0.5.3)
37
39
 
38
40
  PLATFORMS
39
41
  ruby
@@ -44,4 +46,4 @@ DEPENDENCIES
44
46
  factory_girl
45
47
  json
46
48
  rspec
47
- typhoeus (= 0.4.2)
49
+ typhoeus (= 0.5.1)
data/examples/tags.rb CHANGED
@@ -17,55 +17,45 @@ TheCity::AdminApi.connect(KEY, TOKEN)
17
17
  puts "------------------------------------"
18
18
 
19
19
  tag_list = TheCity::TagList.new
20
- if tag_list.empty?
21
- puts "No tags in list"
22
- else
23
- puts "Tags: #{tag_list.count}"
24
- end
20
+ puts "Tags: #{tag_list.total_entries}"
25
21
 
22
+
23
+ puts "*******************"
26
24
  tag = TheCity::Tag.new
27
- tag.name = 'Z Cool Guy'
25
+ tag.name = 'zProgrammer'
26
+
28
27
  if tag.save
29
- puts "Tag created (#{tag.id})"
28
+ puts "Tag SAVED"
30
29
  else
31
- puts "Failed to create tag: #{tag.error_messages.join(', ')}"
30
+ puts "FAILED TO SAVE TAG: #{tag.error_messages}"
32
31
  end
32
+ puts "*******************"
33
33
 
34
+ tag_list = TheCity::TagList.new
35
+ puts "Tags: #{tag_list.total_entries}"
34
36
 
35
- tag_list2 = TheCity::TagList.new
36
- if tag_list2.empty?
37
- puts "No tags in list"
38
- else
39
- puts "Tags: #{tag_list2.count}"
40
- end
37
+ puts "*******************"
38
+ tag.name = 'zProgrammer 2'
41
39
 
42
- tag2 = TheCity::Tag.load_by_id(tag.id)
43
- if tag2.nil?
44
- puts "Tag not found"
40
+ if tag.save
41
+ puts "Tag Updated"
45
42
  else
46
- puts "Tag found by ID #{tag.id}"
43
+ puts "FAILED TO SAVE TAG: #{tag.error_messages}"
47
44
  end
45
+ puts "*******************"
48
46
 
49
47
 
50
- tag.name = 'Z Some Guy'
51
- if tag.save
52
- puts "Tag updated (#{tag.id})"
48
+ puts "*******************"
49
+ if tag.delete
50
+ puts "Tag Deleted"
53
51
  else
54
- puts "Failed to update tag: #{tag.error_messages.join(', ')}"
52
+ puts "FAILED TO DELETE TAG: #{tag.error_messages}"
55
53
  end
54
+ puts "*******************"
56
55
 
57
56
 
58
- if tag.delete
59
- puts "Tag #{tag.id} deleted"
60
- else
61
- puts "Unable to delete tag #{tag.id}: #{tag.error_messages.join(', ')}"
62
- end
57
+ tag_list = TheCity::TagList.new
58
+ puts "Tags: #{tag_list.total_entries}"
63
59
 
64
- tag_list3 = TheCity::TagList.new
65
- if tag_list3.empty?
66
- puts "No tags in list"
67
- else
68
- puts "Tags: #{tag_list3.count}"
69
- end
70
60
 
71
61
  puts "####################################"
data/lib/api/group.rb CHANGED
@@ -55,6 +55,7 @@ module TheCity
55
55
  elsif reader.is_a?(Hash)
56
56
  initialize_from_json_object(reader)
57
57
  end
58
+ @writer_object = GroupWriter
58
59
 
59
60
  @address_list = nil
60
61
  @checkin_list = nil
@@ -163,16 +164,6 @@ module TheCity
163
164
  return @tag_list
164
165
  end
165
166
 
166
-
167
-
168
- # Save this object.
169
- #
170
- # @return True on success, otherwise false.
171
- def save
172
- writer = GroupWriter.new(self.to_attributes)
173
- writer.save_feed
174
- end
175
-
176
167
  end
177
168
 
178
169
  end
data/lib/api/skill.rb CHANGED
@@ -6,12 +6,27 @@ module TheCity
6
6
  :name,
7
7
  :created_at
8
8
 
9
+
10
+ # Loads the skill by the specified ID.
11
+ #
12
+ # @param skill_id The ID of the skill to load.
13
+ #
14
+ # Returns a new {Skill} object.
15
+ def self.load_by_id(fund_id)
16
+ skill_reader = SkillReader.new(fund_id)
17
+ self.new(skill_reader)
18
+ end
19
+
9
20
  # Constructor.
10
21
  #
11
- # @param json_data (optional) JSON data of the Skill.
12
- def initialize(json_data = nil)
22
+ # @param reader (optional) The object that has the data. This can be a {SkillReader} or Hash object.
23
+ def initialize(reader = nil)
13
24
  @writer_object = SkillWriter
14
- initialize_from_json_object(json_data) unless json_data.nil?
25
+ if reader.is_a?(SkillReader)
26
+ initialize_from_json_object(reader.load_feed)
27
+ elsif reader.is_a?(Hash)
28
+ initialize_from_json_object(reader)
29
+ end
15
30
  end
16
31
 
17
32
  end
data/lib/common.rb CHANGED
@@ -3,25 +3,26 @@ module TheCity
3
3
  require 'json'
4
4
 
5
5
 
6
- def self.admin_request(method, path, params = {})
7
- headers = self._build_admin_headers(method, path, params)
6
+ def self.admin_request(method, path, params = {}, body = '')
7
+ headers = self._build_admin_headers(method, path, params, body)
8
8
  url = THE_CITY_ADMIN_PATH+path
9
9
 
10
10
  response =
11
11
  case method
12
12
  when :post
13
- Typhoeus::Request.post(url, {:headers => headers, :params => params})
13
+ Typhoeus::Request.post(url, {:headers => headers, :body => body})
14
14
  when :get
15
15
  Typhoeus::Request.get(url, {:headers => headers, :params => params})
16
16
  when :put
17
- Typhoeus::Request.put(url, {:headers => headers, :params => params})
17
+ Typhoeus::Request.put(url, {:headers => headers, :body => body})
18
18
  when :delete
19
19
  Typhoeus::Request.delete(url, {:headers => headers, :params => params})
20
20
  end
21
21
 
22
+
22
23
  unless response.success?
23
- if response.curl_error_message != 'No error'
24
- raise TheCityExceptions::UnableToConnectToTheCity.new(response.curl_error_message)
24
+ if response.code > 0
25
+ raise TheCityExceptions::UnableToConnectToTheCity.new(response.body)
25
26
  else
26
27
  begin
27
28
  error_messages = JSON.parse(response.body)['error_message']
@@ -38,14 +39,17 @@ module TheCity
38
39
  end
39
40
 
40
41
 
41
- def self._build_admin_headers(method, path, params)
42
+ def self._build_admin_headers(method, path, params, body)
42
43
  get_vars = method == :post ? '' : '?'
43
- get_vars += params.to_a.sort.collect { |kv_pair| "#{kv_pair[0]}=#{kv_pair[1].to_s}" }.join('&')
44
+ if params
45
+ get_vars += params.to_a.sort.collect { |kv_pair| "#{kv_pair[0]}=#{kv_pair[1].to_s}" }.join('&')
46
+ end
44
47
  get_vars = '' if get_vars == '?'
45
48
  method_request = method.to_s.upcase
46
- url = THE_CITY_ADMIN_PATH + path + get_vars
49
+ url = THE_CITY_ADMIN_PATH + path + get_vars + body
47
50
  current_time = Time.now.to_i.to_s
48
51
  string_to_sign = current_time.to_s + method_request + url
52
+
49
53
  unencoded_hmac = OpenSSL::HMAC.digest('sha256', TheCity::AdminApi::API_KEY, string_to_sign)
50
54
  unescaped_hmac = Base64.encode64(unencoded_hmac).chomp
51
55
  hmac_signature = CGI.escape(unescaped_hmac)
@@ -54,7 +58,8 @@ module TheCity
54
58
  'X-City-User-Token' => TheCity::AdminApi::API_TOKEN,
55
59
  'X-City-Time' => current_time,
56
60
  'Accept' => 'application/vnd.thecity.admin.v1+json',
57
- 'Content-Type' => 'application/json'}
61
+ 'Content-Type' => 'application/json',
62
+ 'Content-Length' => body.length}
58
63
  end
59
64
 
60
65
  end
@@ -18,30 +18,26 @@ module TheCity
18
18
  @url_data_params ||= {}
19
19
  response = TheCity::admin_request(:get, @url_data_path, @url_data_params)
20
20
  data = JSON.parse(response.body)
21
- @headers = parse_headers(response.headers) if response.headers
21
+ @headers = response.headers
22
22
  @cacher.save_data(@class_key, data) unless @cacher.nil?
23
23
  #end
24
24
 
25
25
  return data
26
26
  end
27
27
 
28
- def parse_headers(headers)
29
- Hash[headers.split("\r\n").collect { |pair| pair.split(': ') }]
30
- end
31
-
32
- # Returns either the value of the X-City-RateLimit-Limit-By-Ip header or
33
- # X-City-RateLimit-Limit-By-Account header, whichever is lower.
28
+ # Returns either the value of the x-city-ratelimit-limit-by-ip header or
29
+ # x-city-ratelimit-limit-by-account header, whichever is lower.
34
30
  def rate_limit
35
31
  if @headers
36
- [@headers['X-City-RateLimit-Limit-By-Ip'].to_i, @headers['X-City-RateLimit-Limit-By-Account'].to_i].min
32
+ [@headers['x-city-ratelimit-limit-by-ip'].to_i, @headers['x-city-ratelimit-limit-by-account'].to_i].min
37
33
  end
38
34
  end
39
35
 
40
- # Returns either the value of the X-City-RateLimit-Remaining-By-Ip header or
41
- # X-City-RateLimit-Remaining-By-Account header, whichever is lower.
36
+ # Returns either the value of the x-city-ratelimit-remaining-by-ip header or
37
+ # x-city-ratelimit-remaining-by-account header, whichever is lower.
42
38
  def rate_limit_remaining
43
39
  if @headers
44
- [@headers['X-City-RateLimit-Remaining-By-Ip'].to_i, @headers['X-City-RateLimit-Remaining-By-Account'].to_i].min
40
+ [@headers['x-city-ratelimit-remaining-by-ip'].to_i, @headers['x-city-ratelimit-remaining-by-account'].to_i].min
45
41
  end
46
42
  end
47
43
 
@@ -0,0 +1,21 @@
1
+ module TheCity
2
+
3
+ class SkillReader < ApiReader
4
+
5
+ # Constructor.
6
+ #
7
+ # <b>skill_id</b> The ID of the skill to load.
8
+ # <b>CacheAdapter cacher</b> (optional) The cacher to be used to cache data.
9
+ def initialize(skill_id, cacher = nil)
10
+ #@class_key = "funds_#{fund_id}"
11
+ @url_data_path = "/skills/#{skill_id}"
12
+
13
+ # The object to store and load the cache.
14
+ @cacher = cacher unless cacher.nil?
15
+ end
16
+
17
+ end
18
+
19
+ end
20
+
21
+
@@ -22,7 +22,7 @@ module TheCity
22
22
  end
23
23
 
24
24
  begin
25
- response = TheCity::admin_request(@url_action, @url_data_path, @url_data_params)
25
+ response = TheCity::admin_request(@url_action, @url_data_path, nil, @url_data_params.to_json)
26
26
  @response_code = response.code
27
27
  # No content but is a success
28
28
  success = response.code == 204 ? {'success' => true} : JSON.parse(response.body)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  PROJECT_GEM = 'the-city-admin'
3
- PROJECT_GEM_VERSION = '0.3.1'
3
+ PROJECT_GEM_VERSION = '0.4.0'
4
4
 
5
5
  s.name = PROJECT_GEM
6
6
  s.version = PROJECT_GEM_VERSION
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.summary = 'Ruby gem/plugin to interact with The City Admin API (https://api.OnTheCity.org).'
16
16
  s.description = 'Ruby gem/plugin to interact with The City Admin API (https://api.OnTheCity.org). Checkout the project on github for more detail.'
17
17
 
18
- s.add_dependency('typhoeus', '0.4.2')
18
+ s.add_dependency('typhoeus', '0.5.1')
19
19
 
20
20
 
21
21
  s.files = `git ls-files`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the-city-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-12 00:00:00.000000000 Z
12
+ date: 2012-11-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: typhoeus
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.4.2
21
+ version: 0.5.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.4.2
29
+ version: 0.5.1
30
30
  description: Ruby gem/plugin to interact with The City Admin API (https://api.OnTheCity.org).
31
31
  Checkout the project on github for more detail.
32
32
  email: wes@onthecity.org
@@ -59,7 +59,6 @@ files:
59
59
  - examples/thecity_headers.rb
60
60
  - examples/users.rb
61
61
  - examples/webhooks.rb
62
- - index.rb
63
62
  - lib/api/address.rb
64
63
  - lib/api/address_list.rb
65
64
  - lib/api/api_object.rb
@@ -165,6 +164,7 @@ files:
165
164
  - lib/readers/pledge_reader.rb
166
165
  - lib/readers/role_list_reader.rb
167
166
  - lib/readers/skill_list_reader.rb
167
+ - lib/readers/skill_reader.rb
168
168
  - lib/readers/skilled_user_id_list_reader.rb
169
169
  - lib/readers/skilled_user_list_reader.rb
170
170
  - lib/readers/tag_group_list_reader.rb
data/index.rb DELETED
@@ -1,356 +0,0 @@
1
- # *******************************************
2
- # This is a demo file to show usage.
3
- #
4
- # @package TheCity::Admin
5
- # @authors Robbie Lieb <robbie@onthecity.org>, Wes Hays <wes@onthecity.org>
6
- # *******************************************
7
-
8
- # TCA_ENV = 'development'
9
- # THE_CITY_ADMIN_PATH = 'http://api.devthecity.org:9292'
10
- # key = 'Dev Key'
11
- # token = 'dev token'
12
-
13
- key = 'YOUR KEY'
14
- token = 'YOUR TOKEN'
15
-
16
- require 'open-uri'
17
- require 'csv'
18
- require 'ruby-debug'
19
- require File.dirname(__FILE__) + '/lib/the_city_admin.rb'
20
-
21
- TheCity::AdminApi.connect(key, token)
22
-
23
- # group_export = TheCity::GroupExport.new
24
- # group_export.group_id = 73608
25
- # if group_export.save
26
- # puts "Export created"
27
- # else
28
- # puts "Export failed: #{group_export.error_messages.join(', ')}"
29
- # end
30
-
31
-
32
- # done = false
33
- # page = 1
34
- # count = 0
35
-
36
- # while !done
37
- # export_list = TheCity::GroupExportList.new({:page => page, :group_id => 73608})
38
-
39
- # export_list.each do |export|
40
- # count += 1
41
- # puts "#{count}) #{export.id} :: #{export.state}"
42
- # end
43
-
44
- # if export_list.total_pages <= page
45
- # done = true
46
- # else
47
- # page += 1
48
- # end
49
- # end
50
-
51
- # export_list = TheCity::GroupExportList.new({:page => page, :group_id => 73608})
52
- # group_export = export_list[0]
53
- # puts group_export.inspect
54
-
55
-
56
-
57
- group_export = TheCity::GroupExport.load_by_id(100996, {:group_id => 73608})
58
- path = group_export.authenticated_s3_url
59
-
60
- data = open(path).read()
61
-
62
- CSV.parse(data, {:headers => true}).each do |row|
63
- puts [row[2], row[4]].join(' ')
64
- end
65
-
66
-
67
- # puts "-----------------------------"
68
- # puts "##### Web Hooks #######"
69
- # puts "-----------------------------"
70
-
71
- # web_hooks = TheCity::WebHookList.new({:page => 1})
72
- # web_hooks.each do |hook|
73
- # puts hook.inspect
74
- # end
75
-
76
- # web_hook1 = TheCity::WebHook.new({:callback_uri => 'https://www.somedomain.com/city/callbacks/fund/create',
77
- # :object => TheCity::WebHook::Objects[:fund],
78
- # :event => TheCity::WebHook::Events[:create]})
79
-
80
- # web_hook2 = TheCity::WebHook.new({:callback_uri => 'https://www.somedomain.com/city/callbacks/pledge/create',
81
- # :object => TheCity::WebHook::Objects[:pledge],
82
- # :event => TheCity::WebHook::Events[:create]})
83
-
84
- # web_hook3 = TheCity::WebHook.new({:callback_uri => 'https://www.somedomain.com/city/callbacks/donation/create',
85
- # :object => TheCity::WebHook::Objects[:donation],
86
- # :event => TheCity::WebHook::Events[:create]})
87
-
88
- # puts web_hook1.save ? 'Web Hook saved' : 'Web Hook failed'
89
- # puts web_hook2.save ? 'Web Hook saved' : 'Web Hook failed'
90
- # puts web_hook3.save ? 'Web Hook saved' : 'Web Hook failed'
91
-
92
- # web_hooks = TheCity::WebHookList.new({:page => 1})
93
- # web_hooks.each do |hook|
94
- # puts hook.inspect
95
- # puts hook.delete
96
- # end
97
-
98
-
99
- # puts "-----------------------------"
100
- # puts "##### Invitations #######"
101
- # puts "-----------------------------"
102
-
103
- # invitation_list = TheCity::InvitationList.new({:page => 1})
104
-
105
- # invitation_list.each do |invitation|
106
- # puts invitation.inspect
107
- # end
108
-
109
- # puts "-----------------------------"
110
- # puts "##### FUNDS / DONATIONS / PLEDGES #######"
111
- # puts "-----------------------------"
112
-
113
-
114
- # donation_list = TheCity::DonationList.new({:page => 1, :include_details => 1, :start_date => '2012-09-01', :end_date => '2012-09-30'})
115
-
116
- # donation_list.each do |donation|
117
- # puts [donation.user_name, donation.amount].join(' :: ')
118
- # end
119
-
120
-
121
- # fund_list = TheCity::FundList.new({:page => 1})
122
-
123
- # fund_list.each do |fund|
124
- # puts [fund.id, fund.name].join(' :: ')
125
- # end
126
-
127
- # sfund = TheCity::Fund.load_fund_by_id(fund_list.first.id)
128
-
129
- # puts [sfund.id, sfund.name].join(' :-: ')
130
-
131
- # done = false
132
- # page = 1
133
- # count = 0
134
-
135
- # while !done
136
- # group_list = TheCity::GroupList.new({:page => page, :group_types => 'CG', :include_inactive => true})
137
-
138
- # group_list.each do |group|
139
- # count += 1
140
- # puts "#{count}) #{group.name} [#{group.group_type}]"
141
- # end
142
-
143
- # if group_list.total_pages <= page
144
- # done = true
145
- # else
146
- # page += 1
147
- # end
148
- # end
149
-
150
-
151
- # done = false
152
- # page = 1
153
- # count = 0
154
-
155
- # while !done
156
- # tag_list = TheCity::TagList.new({:page => page})
157
-
158
- # tag_list.each do |tag|
159
- # count += 1
160
- # puts "#{count}) #{tag.name} :: #{tag.id}"
161
- # end
162
-
163
- # if tag_list.total_pages <= page
164
- # done = true
165
- # else
166
- # page += 1
167
- # end
168
- # end
169
-
170
- # tag_list = TheCity::TagList.new({:page => page})
171
- # tag = tag_list[0]
172
-
173
- # puts tag.name
174
- # tag.name = "Wes Hays #{Random.rand(99999)}"
175
- # if tag.save
176
- # puts "TAG SAVED"
177
- # else
178
- # puts "TAG FAILED TO SAVE: #{tag.error_messages}"
179
- # end
180
-
181
-
182
-
183
-
184
-
185
- # puts "-----------------------------"
186
- # puts "##### USERS #######"
187
- # puts "-----------------------------"
188
-
189
-
190
- # wes = TheCity::User.load_by_id(746076)
191
-
192
- # wes.first = "Jim"
193
- # if wes.save
194
- # puts "Wes Saved"
195
- # else
196
- # puts "WES FAILED TO SAVE: #{wes.error_messages}"
197
- # end
198
-
199
-
200
- # user_list = TheCity::UserList.new
201
-
202
- # user_list.each do |u|
203
- # puts u.full_name
204
- # end
205
-
206
- # puts "-----------------------------"
207
-
208
- # user = TheCity::User.new
209
- # user.title = 'Deacon'
210
- # user.first = 'James'
211
- # user.middle = 'Wesley'
212
- # user.last = 'Hays'
213
- # user.nickname = 'Wes'
214
- # user.gender = TheCity::User::Gender[:male]
215
- # user.email = 'someguy@somewhere.org'
216
- # user.staff = false
217
- # user.member_since = Time.now.strftime("%Y-%m-%d")
218
- # user.birthdate = '1980-09-27'
219
- # user.primary_phone = '775-111-2222'
220
- # user.primary_phone_type = TheCity::User::PhoneType[:mobile]
221
- # user.secondary_phone = '775-333-4444'
222
- # user.secondary_phone_type = TheCity::User::PhoneType[:home]
223
- # user.marital_status = TheCity::User::MaritalStatus[:married]
224
- # #user.primary_campus_id
225
- # #user.external_id_1
226
- # #user.external_id_2
227
- # #user.external_id_3
228
-
229
- # if user.save
230
- # puts "User #{user.full_name} saved (#{user.id})"
231
- # else
232
- # user.error_messages.each { |em| puts em }
233
- # end
234
-
235
- # user2 = TheCity::User.load_by_id(user.id)
236
- # user2.email = 'somegirl@somewhere.org'
237
- # user2.nickname = 'dog'
238
-
239
- # if user2.save
240
- # puts "User #{user2.full_name} updated (#{user2.id})"
241
- # else
242
- # user2.error_messages.each { |em| puts em }
243
- # end
244
-
245
- # if user.delete
246
- # puts "User #{user.full_name} deleted (#{user.id})"
247
- # else
248
- # puts "Something bad happened"
249
- # #user.error_messages.each { |em| puts em }
250
- # end
251
-
252
-
253
- # puts "-----------------------------"
254
-
255
- # user_list = TheCity::UserList.new
256
-
257
- # user = user_list[0]
258
- # puts user.full_name
259
- # user.first = 'Wes'
260
- # puts user.full_name
261
- # user.save
262
- # puts user.id
263
-
264
- # user2 = TheCity::User.load_by_id(user.id)
265
- # puts user2.full_name
266
-
267
- # puts "User has #{user.addresses.size} addresses"
268
- # puts "User has #{user.family.size} family members"
269
- # puts "User has #{user.notes.size} notes"
270
- # puts "User has #{user.roles.size} roles"
271
- # puts "User has #{user.skills.size} skills"
272
- # #puts "User has #{user.processes.size} processes"
273
- # puts "User has #{user.invitations.size} invitations"
274
- # #puts "User has #{user.admin_privileges.size} admin_privileges"
275
-
276
-
277
- # This is currenly returning a 404 if no family members are found
278
- # puts user.family[0].name
279
-
280
-
281
-
282
- # puts "-----------------------------"
283
-
284
-
285
- # group_list = TheCity::GroupList.new(:)
286
- # puts group.name
287
- # group.name = 'Wes Group'
288
- # puts group.name
289
- # group.save
290
- # group2 = TheCity::Group.load_by_id(group.id)
291
- # puts group2.name
292
-
293
-
294
- # puts "-----------------------------"
295
- # puts "##### GROUPS #######"
296
- # puts "-----------------------------"
297
-
298
- # group_list = TheCity::GroupList.new
299
-
300
- # group = group_list[13]
301
- # puts "Group Name: #{group.name} (#{group.id})"
302
-
303
- # if group.roles.size == 0
304
- # puts "No group roles found"
305
- # else
306
- # puts group.roles[0].title
307
- # end
308
-
309
- # if group.tags.size == 0
310
- # puts "No group tags found"
311
- # else
312
- # puts group.tags[0].name
313
- # end
314
-
315
- # if group.invitations.size == 0
316
- # puts "No group invitations found"
317
- # else
318
- # puts group.invitations[0].id
319
- # end
320
-
321
-
322
- # puts "-----------------------------"
323
- # puts "##### SKILLS #######"
324
- # puts "-----------------------------"
325
-
326
- # skill_list = TheCity::SkillList.new
327
-
328
- # puts skill_list.inspect
329
-
330
- # # skill_list.each do |skill|
331
- # # puts skill.name
332
- # # end
333
-
334
-
335
- # puts "-----------------------------"
336
- # puts "##### USERS #######"
337
- # puts "-----------------------------"
338
-
339
- # done = false
340
- # page = 1
341
-
342
-
343
- # while !done
344
- # user_list = TheCity::UserList.new({:page => page})
345
-
346
- # user_list.each do |user|
347
- # puts user.full_name
348
- # end
349
-
350
- # if user_list.total_pages <= page
351
- # done = true
352
- # else
353
- # page += 1
354
- # end
355
- # end
356
-