stbaldricks 1.5.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/lib/stbaldricks.rb +2 -0
  4. data/lib/stbaldricks/api.rb +7 -0
  5. data/lib/stbaldricks/api_connector.rb +47 -0
  6. data/lib/stbaldricks/client.rb +7 -0
  7. data/lib/stbaldricks/configuration.rb +47 -0
  8. data/lib/stbaldricks/default_logger.rb +24 -0
  9. data/lib/stbaldricks/endpoints/communicate.rb +67 -0
  10. data/lib/stbaldricks/endpoints/config.rb +18 -0
  11. data/lib/stbaldricks/endpoints/contact.rb +12 -0
  12. data/lib/stbaldricks/endpoints/event.rb +39 -0
  13. data/lib/stbaldricks/endpoints/event_application.rb +32 -0
  14. data/lib/stbaldricks/endpoints/fund.rb +24 -0
  15. data/lib/stbaldricks/endpoints/kid.rb +24 -0
  16. data/lib/stbaldricks/endpoints/kid_honor.rb +17 -0
  17. data/lib/stbaldricks/endpoints/lib/entity.rb +247 -0
  18. data/lib/stbaldricks/endpoints/message.rb +27 -0
  19. data/lib/stbaldricks/endpoints/newsletter_recipient.rb +41 -0
  20. data/lib/stbaldricks/endpoints/participant.rb +66 -0
  21. data/lib/stbaldricks/endpoints/photo.rb +51 -0
  22. data/lib/stbaldricks/endpoints/recurring_gift.rb +18 -0
  23. data/lib/stbaldricks/endpoints/search.rb +63 -0
  24. data/lib/stbaldricks/endpoints/shave_schedule.rb +28 -0
  25. data/lib/stbaldricks/endpoints/user.rb +106 -0
  26. data/lib/stbaldricks/entities/batch.rb +29 -0
  27. data/lib/stbaldricks/entities/campaign.rb +37 -0
  28. data/lib/stbaldricks/entities/communicate.rb +20 -0
  29. data/lib/stbaldricks/entities/config.rb +41 -0
  30. data/lib/stbaldricks/entities/contact.rb +40 -0
  31. data/lib/stbaldricks/entities/contact_group.rb +29 -0
  32. data/lib/stbaldricks/entities/document_library.rb +19 -0
  33. data/lib/stbaldricks/entities/document_library_category.rb +14 -0
  34. data/lib/stbaldricks/entities/donation.rb +372 -0
  35. data/lib/stbaldricks/entities/donation/donor_type.rb +13 -0
  36. data/lib/stbaldricks/entities/donation/how_created.rb +22 -0
  37. data/lib/stbaldricks/entities/donation/payment_type.rb +17 -0
  38. data/lib/stbaldricks/entities/donation/promo_code.rb +22 -0
  39. data/lib/stbaldricks/entities/donation/recipient_type.rb +17 -0
  40. data/lib/stbaldricks/entities/donation/special_donation_type.rb +78 -0
  41. data/lib/stbaldricks/entities/donation/status.rb +12 -0
  42. data/lib/stbaldricks/entities/donation/submitter_type.rb +13 -0
  43. data/lib/stbaldricks/entities/donor.rb +15 -0
  44. data/lib/stbaldricks/entities/event.rb +173 -0
  45. data/lib/stbaldricks/entities/event/fund_relationship_type.rb +15 -0
  46. data/lib/stbaldricks/entities/event/how_created.rb +14 -0
  47. data/lib/stbaldricks/entities/event/promo_code.rb +11 -0
  48. data/lib/stbaldricks/entities/event/status.rb +13 -0
  49. data/lib/stbaldricks/entities/event/sub_type.rb +16 -0
  50. data/lib/stbaldricks/entities/event/type.rb +12 -0
  51. data/lib/stbaldricks/entities/event_application.rb +135 -0
  52. data/lib/stbaldricks/entities/event_application/model_type.rb +15 -0
  53. data/lib/stbaldricks/entities/event_application/status.rb +23 -0
  54. data/lib/stbaldricks/entities/event_donation_summary.rb +18 -0
  55. data/lib/stbaldricks/entities/event_participant_summary.rb +17 -0
  56. data/lib/stbaldricks/entities/event_supporter.rb +24 -0
  57. data/lib/stbaldricks/entities/fund.rb +98 -0
  58. data/lib/stbaldricks/entities/fundraiser.rb +124 -0
  59. data/lib/stbaldricks/entities/international_partner.rb +58 -0
  60. data/lib/stbaldricks/entities/kid.rb +190 -0
  61. data/lib/stbaldricks/entities/kid_honor.rb +123 -0
  62. data/lib/stbaldricks/entities/lib/address.rb +25 -0
  63. data/lib/stbaldricks/entities/lib/base.rb +505 -0
  64. data/lib/stbaldricks/entities/lib/cacheable.rb +43 -0
  65. data/lib/stbaldricks/entities/lib/default_cacheable.rb +17 -0
  66. data/lib/stbaldricks/entities/lib/email_address.rb +15 -0
  67. data/lib/stbaldricks/entities/lib/error.rb +38 -0
  68. data/lib/stbaldricks/entities/lib/fundraising_page.rb +20 -0
  69. data/lib/stbaldricks/entities/lib/geo_location.rb +9 -0
  70. data/lib/stbaldricks/entities/lib/location.rb +27 -0
  71. data/lib/stbaldricks/entities/lib/name.rb +17 -0
  72. data/lib/stbaldricks/entities/lib/not_implemented_object.rb +32 -0
  73. data/lib/stbaldricks/entities/lib/opt_out_settings.rb +21 -0
  74. data/lib/stbaldricks/entities/lib/payment.rb +86 -0
  75. data/lib/stbaldricks/entities/lib/permissions.rb +33 -0
  76. data/lib/stbaldricks/entities/lib/phone.rb +29 -0
  77. data/lib/stbaldricks/entities/lib/third_party_media.rb +20 -0
  78. data/lib/stbaldricks/entities/lib/top_level.rb +99 -0
  79. data/lib/stbaldricks/entities/lib/venue.rb +18 -0
  80. data/lib/stbaldricks/entities/memorial.rb +61 -0
  81. data/lib/stbaldricks/entities/message.rb +65 -0
  82. data/lib/stbaldricks/entities/newsletter_recipient.rb +17 -0
  83. data/lib/stbaldricks/entities/organization.rb +90 -0
  84. data/lib/stbaldricks/entities/page.rb +49 -0
  85. data/lib/stbaldricks/entities/participant.rb +216 -0
  86. data/lib/stbaldricks/entities/person.rb +403 -0
  87. data/lib/stbaldricks/entities/photo.rb +260 -0
  88. data/lib/stbaldricks/entities/recurring_gift.rb +215 -0
  89. data/lib/stbaldricks/entities/response.rb +37 -0
  90. data/lib/stbaldricks/entities/search.rb +223 -0
  91. data/lib/stbaldricks/entities/section.rb +15 -0
  92. data/lib/stbaldricks/entities/shave_schedule.rb +69 -0
  93. data/lib/stbaldricks/entities/summary.rb +32 -0
  94. data/lib/stbaldricks/entities/team.rb +95 -0
  95. data/lib/stbaldricks/entities/user.rb +76 -0
  96. data/lib/stbaldricks/enums/country.rb +223 -0
  97. data/lib/stbaldricks/enums/feature.rb +29 -0
  98. data/lib/stbaldricks/enums/league_status.rb +16 -0
  99. data/lib/stbaldricks/enums/model_type.rb +39 -0
  100. data/lib/stbaldricks/enums/permission.rb +223 -0
  101. data/lib/stbaldricks/enums/permission_model_type.rb +21 -0
  102. data/lib/stbaldricks/enums/province.rb +39 -0
  103. data/lib/stbaldricks/enums/state.rb +137 -0
  104. data/lib/stbaldricks/enums/top_level_category_type.rb +25 -0
  105. data/lib/stbaldricks/errors.rb +18 -0
  106. data/lib/stbaldricks/log.rb +16 -0
  107. data/lib/stbaldricks/patches/array.rb +6 -0
  108. data/lib/stbaldricks/patches/boolean.rb +25 -0
  109. data/lib/stbaldricks/patches/class.rb +13 -0
  110. data/lib/stbaldricks/patches/float.rb +9 -0
  111. data/lib/stbaldricks/patches/hash.rb +16 -0
  112. data/lib/stbaldricks/patches/integer.rb +9 -0
  113. data/lib/stbaldricks/patches/nil.rb +25 -0
  114. data/lib/stbaldricks/patches/string.rb +54 -0
  115. data/lib/stbaldricks/request.rb +146 -0
  116. data/lib/stbaldricks/version.rb +5 -0
  117. metadata +215 -0
@@ -0,0 +1,15 @@
1
+ require 'stbaldricks/entities/lib/top_level'
2
+
3
+ module SBF
4
+ module Client
5
+ class Section < SBF::Client::TopLevelEntity
6
+ actions DEFAULT_CRUD_ACTIONS
7
+
8
+ attr_reader :id
9
+ attr_accessor :title
10
+ attr_accessor :pages
11
+ attr_accessor :parent_section
12
+ attr_accessor :subsections
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,69 @@
1
+ require 'stbaldricks/endpoints/shave_schedule'
2
+ require 'stbaldricks/entities/lib/top_level'
3
+ require 'stbaldricks/entities/lib/permissions'
4
+
5
+ module SBF
6
+ module Client
7
+ class ShaveSchedule < SBF::Client::TopLevelEntity
8
+ endpoint SBF::Client::ShaveScheduleEndpoint
9
+ actions DEFAULT_CRUD_ACTIONS
10
+ action :notify
11
+
12
+ def update(with = {})
13
+ endpoint.update(id, year, self, with)
14
+ end
15
+
16
+ class TimeSelectionPermissions < SBF::Client::BaseEntity
17
+ attr_accessor :shavees, :team_captains
18
+
19
+ def shavees?
20
+ shavees
21
+ end
22
+
23
+ def team_captains?
24
+ team_captains
25
+ end
26
+ end
27
+
28
+ class ShaveScheduleAssignment < SBF::Client::BaseEntity
29
+ module Type
30
+ RESERVED = 'reserved'
31
+ SHAVEE = 'shavee'
32
+ end
33
+
34
+ attr_accessor :id
35
+ attr_accessor :type
36
+ attr_accessor :participant
37
+ attr_accessor :is_notification_sent
38
+ attr_accessor :shave_time
39
+ end
40
+
41
+ attr_accessor :id
42
+ attr_accessor :year
43
+ attr_accessor :start_time
44
+ attr_accessor :end_time
45
+ attr_accessor :shave_duration_in_minutes
46
+ attr_accessor :number_of_seats
47
+ attr_accessor :is_published
48
+ entity_attr_accessor :time_selection_permissions, 'SBF::Client::ShaveSchedule::TimeSelectionPermissions'
49
+ entity_collection_attr_accessor :assignments, 'SBF::Client::ShaveSchedule::ShaveScheduleAssignment'
50
+ entity_attr_reader :permissions, 'SBF::Client::Permissions', nil, true
51
+
52
+ def published?
53
+ is_published
54
+ end
55
+
56
+ def shavees_can_schedule_times?
57
+ time_selection_permissions.shavees?
58
+ end
59
+
60
+ def team_captains_can_schedule_times?
61
+ time_selection_permissions.team_captains?
62
+ end
63
+
64
+ def owner?
65
+ @permissions.nil? ? false : @permissions.owner?
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,32 @@
1
+ require 'stbaldricks/entities/lib/base'
2
+ require 'stbaldricks/entities/lib/top_level'
3
+ require 'stbaldricks/entities/lib/cacheable'
4
+
5
+ module SBF
6
+ module Client
7
+ class Summary < SBF::Client::TopLevelEntity
8
+ include Entities::Cacheable
9
+ action :find
10
+ action :find_first
11
+
12
+ cache_id -> { [year] }
13
+ cache_id_from_hash ->(h) { [h[:year]] }
14
+
15
+ attr_accessor :year
16
+
17
+ entity_attr_reader :yearly_totals, 'SBF::Client::Summary::Totals'
18
+ entity_attr_reader :monthly_totals, 'SBF::Client::Summary::Totals'
19
+ entity_attr_reader :weekly_totals, 'SBF::Client::Summary::Totals'
20
+
21
+ class Totals < SBF::Client::BaseEntity
22
+ attr_reader :donations
23
+ attr_reader :events
24
+ attr_reader :male_shavees
25
+ attr_reader :female_shavees
26
+ attr_reader :barbers
27
+ attr_reader :participants
28
+ attr_reader :fundraisers
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,95 @@
1
+ require 'stbaldricks/entities/participant'
2
+ require 'stbaldricks/entities/fund'
3
+ require 'stbaldricks/entities/event'
4
+ require 'stbaldricks/entities/lib/top_level'
5
+ require 'stbaldricks/entities/lib/fundraising_page'
6
+ require 'stbaldricks/entities/lib/permissions'
7
+ require 'htmlentities'
8
+
9
+ module SBF
10
+ module Client
11
+ class Team < SBF::Client::TopLevelEntity
12
+ actions DEFAULT_CRUD_ACTIONS
13
+
14
+ blacklist_action :create
15
+
16
+ disallow_instantiation
17
+
18
+ module Status
19
+ ACTIVE = 'active'
20
+ PENDING = 'pending'
21
+ end
22
+
23
+ module HowCreated
24
+ WEBSITE = 'website'
25
+ ADMIN_IMPORT = 'admin_import'
26
+ ADMIN_CONTROL_PANEL = 'admin_control_panel'
27
+ MOBILE = 'mobile'
28
+ PARTICIPANT_IMPORT = 'participant_import'
29
+ end
30
+
31
+ module FundRelationshipType
32
+ NO_ASSOCIATION = 'no_association'
33
+ INDIRECT_ONE = 'indirect_one'
34
+ INDIRECT_MULTIPLE = 'indirect_multiple'
35
+ DIRECT = 'direct'
36
+ DIRECT_BUT_LOCKED = 'direct_but_locked'
37
+ INHERITED_EVENT = 'inherited_event'
38
+ end
39
+
40
+ class Photos < SBF::Client::BaseEntity
41
+ attr_reader :avatar, :default
42
+ end
43
+
44
+ class Totals < SBF::Client::BaseEntity
45
+ attr_reader :fundraisers, :participants, :shavees, :amount_raised
46
+ end
47
+
48
+ class Rankings < SBF::Client::BaseEntity
49
+ class Ranking < SBF::Client::BaseEntity
50
+ attr_reader :rank, :total
51
+ end
52
+
53
+ entity_attr_reader :event, 'SBF::Client::Team::Rankings::Ranking'
54
+ end
55
+ end
56
+
57
+ class PartialTeam < Team
58
+ attr_accessor :id
59
+ end
60
+
61
+ class FullTeam < Team
62
+ attr_accessor :id
63
+ attr_accessor :name
64
+ attr_accessor :status
65
+ attr_reader :display_name
66
+ entity_attr_accessor :event, 'SBF::Client::FullEvent', 'SBF::Client::PartialEvent', true
67
+ entity_attr_accessor :fund, 'SBF::Client::FullFund', 'SBF::Client::PartialFund', true
68
+ attr_accessor :fund_relationship_type
69
+ attr_accessor :offline_donation_uuid, :offline_donation_form
70
+ attr_accessor :fundraising_goal, :fundraising_message
71
+ entity_attr_accessor :fundraising_page, 'SBF::Client::FundraisingPage', nil, true
72
+ entity_attr_reader :photos, 'SBF::Client::Team::Photos'
73
+ entity_attr_accessor :captain, 'SBF::Client::FullParticipant'
74
+ entity_attr_reader :rankings, 'SBF::Client::Team::Rankings', nil, true
75
+ entity_attr_reader :totals, 'SBF::Client::Team::Totals'
76
+ attr_reader :created_at, :modified_at
77
+ attr_accessor :modified_by
78
+ attr_accessor :how_created
79
+ entity_attr_reader :permissions, 'SBF::Client::Permissions', nil, true
80
+ entity_attr_accessor :third_party_media, 'SBF::Client::ThirdPartyMedia', nil, true
81
+
82
+ def active?
83
+ status == SBF::Client::Team::Status::ACTIVE
84
+ end
85
+
86
+ def display_name
87
+ HTMLEntities.new.decode(@display_name)
88
+ end
89
+
90
+ def name
91
+ HTMLEntities.new.decode(@name)
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,76 @@
1
+ require 'stbaldricks/endpoints/user'
2
+ require 'stbaldricks/entities/person'
3
+ require 'stbaldricks/entities/organization'
4
+ require 'stbaldricks/entities/lib/top_level'
5
+ require 'stbaldricks/entities/lib/cacheable'
6
+
7
+ module SBF
8
+ module Client
9
+ class User < SBF::Client::TopLevelEntity
10
+ include Entities::Cacheable
11
+
12
+ endpoint SBF::Client::UserEndpoint
13
+ actions DEFAULT_CRUD_ACTIONS
14
+ action :login!
15
+ action :list_entities_user_has_permission
16
+ action :change_password
17
+ action :disconnect_facebook
18
+
19
+ cache_id -> { [person.id, type] }
20
+ cache_id_from_hash ->(h) { [h[:person][:id], h[:type]] }
21
+
22
+ module AccessScope
23
+ ADMIN = 'admin'
24
+ LIMITED_ADMIN = 'admin_limited'
25
+ MEMBER = 'member'
26
+ end
27
+
28
+ module ProviderType
29
+ SBF = 'sbf'
30
+ FACEBOOK = 'facebook'
31
+ TWITTER = 'twitter'
32
+
33
+ IDS = {
34
+ SBF => 1,
35
+ FACEBOOK => 2,
36
+ TWITTER => 3
37
+ }
38
+ IDS.default = 0
39
+ IDS.freeze
40
+
41
+ def self.to_s(type_id)
42
+ IDS.key(type_id)
43
+ end
44
+
45
+ def self.value_of(type)
46
+ IDS[type]
47
+ end
48
+ end
49
+
50
+ attr_accessor :type, :access_scope, :username, :password, :token, :identifier
51
+
52
+ multitype_attr_accessor(
53
+ :person,
54
+ [
55
+ [
56
+ ->(v) { v[:type] == SBF::Client::Organization::Type::ORGANIZATION_FOUNDATION },
57
+ 'SBF::Client::FullOrganization',
58
+ 'SBF::Client::PartialOrganization'
59
+ ],
60
+ [
61
+ ->(v) { v[:type] == SBF::Client::Organization::Type::BUSINESS },
62
+ 'SBF::Client::FullOrganization',
63
+ 'SBF::Client::PartialOrganization'
64
+ ],
65
+ [
66
+ ELSE,
67
+ 'SBF::Client::FullPerson',
68
+ 'SBF::Client::PartialPerson'
69
+ ]
70
+ ]
71
+ )
72
+
73
+ attr_reader :created_at, :modified_at, :last_login_at
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,223 @@
1
+ module SBF
2
+ module Client
3
+ module Country
4
+ AMERICAN_SAMOA = 'American Samoa'
5
+ ANGUILLA = 'Anguilla'
6
+ ANTIGUA_AND_BARBUDA = 'Antigua And Barbuda'
7
+ ARGENTINA = 'Argentina'
8
+ ARMENIA = 'Armenia'
9
+ ARUBA = 'Aruba'
10
+ AUSTRALIA = 'Australia'
11
+ AUSTRIA = 'Austria'
12
+ AZERBAIJAN = 'Azerbaijan'
13
+ BAHAMAS = 'Bahamas'
14
+ BAHRAIN = 'Bahrain'
15
+ BARBADOS = 'Barbados'
16
+ BELARUS = 'Belarus'
17
+ BELGIUM = 'Belgium'
18
+ BELIZE = 'Belize'
19
+ BERMUDA = 'Bermuda'
20
+ BRAZIL = 'Brazil'
21
+ BULGARIA = 'Bulgaria'
22
+ CANADA = 'Canada'
23
+ CAYMAN_ISLANDS = 'Cayman Islands'
24
+ CHILE = 'Chile'
25
+ CHINA = 'China'
26
+ COLUMBIA = 'Colombia'
27
+ COSTA_RICA = 'Costa Rica'
28
+ CUBA = 'Cuba'
29
+ CURACAO = 'Curacao'
30
+ CYPRUS = 'Cyprus'
31
+ CZECH_REPUBLIC = 'Czech Republic'
32
+ DENMARK = 'Denmark'
33
+ DOMINICA = 'Dominica'
34
+ DOMINICAN_REPUBLIC = 'Dominican Republic'
35
+ ECUADOR = 'Ecuador'
36
+ EGYPT = 'Egypt'
37
+ EL_SALVADOR = 'El Salvador'
38
+ FINLAND = 'Finland'
39
+ FRANCE = 'France'
40
+ GERMANY = 'Germany'
41
+ GREECE = 'Greece'
42
+ GRENADA = 'Grenada'
43
+ HAITI = 'Haiti'
44
+ HONDURAS = 'Honduras'
45
+ HONG_KONG = 'Hong Kong'
46
+ HUNGARY = 'Hungary'
47
+ ICELAND = 'Iceland'
48
+ INDIA = 'India'
49
+ INDONESIA = 'Indonesia'
50
+ IRAN = 'Iran'
51
+ IRAQ = 'Iraq'
52
+ IRELAND = 'Ireland'
53
+ ISRAEL = 'Israel'
54
+ ITALY = 'Italy'
55
+ JAMAICA = 'Jamaica'
56
+ JAPAN = 'Japan'
57
+ KENYA = 'KE'
58
+ KUWAIT = 'Kuwait'
59
+ LEBANON = 'Lebanon'
60
+ LUXEMBOURG = 'Luxembourg'
61
+ MACAO = 'Macao'
62
+ MALAWI = 'Malawi'
63
+ MALAYSIA = 'Malaysia'
64
+ MEXICO = 'Mexico'
65
+ MOLDOVA = 'Moldova'
66
+ MONTSERRAT = 'Montserrat'
67
+ NETHERLANDS = 'Netherlands (The)'
68
+ NEW_ZEALAND = 'New Zealand'
69
+ NICARAGUA = 'Nicaragua'
70
+ NORWAY = 'Norway'
71
+ OMAN = 'Oman'
72
+ PAKISTAN = 'Pakistan'
73
+ PERU = 'Peru'
74
+ PHILIPPINES = 'Philippines'
75
+ POLAND = 'Poland'
76
+ PORTUGAL = 'Portugal'
77
+ QATAR = 'Qatar'
78
+ ROMANIA = 'Romania'
79
+ RUSSIA = 'Russia'
80
+ SAINT_KITTS_AND_NEVIS = 'Saint Kitts And Nevis'
81
+ SAINT_LUCIA = 'Saint Lucia'
82
+ SAINT_MARTIN = 'Saint Martin'
83
+ SAINT_VINCENT_AND_THE_GRENADINES = 'Saint Vincent And The Grenadines'
84
+ SAUDI_ARABIA = 'Saudi Arabia'
85
+ SINGAPORE = 'Singapore'
86
+ SINT_MARTIN = 'Sint Martin'
87
+ SLOVAKIA = 'Slovakia'
88
+ SLOVENIA = 'Slovenia'
89
+ SOUTH_AFRICA = 'South Africa'
90
+ SOUTH_KOREA = 'South Korea'
91
+ SPAIN = 'Spain'
92
+ SRI_LANKA = 'Sri Lanka'
93
+ SWEDEN = 'Sweden'
94
+ SWITZERLAND = 'Switzerland'
95
+ TAIWAN = 'Taiwan'
96
+ THAILAND = 'Thailand'
97
+ TRINIDAD_AND_TOBAGO = 'Trinidad And Tobago'
98
+ TURKEY = 'Turkey'
99
+ TURKS_AND_CAICOS_ISLANDS = 'Turks And Caicos Islands'
100
+ UGANDA = 'Uganda'
101
+ UKRAINE = 'Ukraine'
102
+ UNITED_ARAB_EMIRATES = 'United Arab Emirates'
103
+ UNITED_KINGDOM = 'United Kingdom'
104
+ UNITED_STATES = 'United States'
105
+ URUGUAY = 'Uruguay'
106
+ VENEZUELA = 'Venezuela'
107
+ VIETNAM = 'Vietnam'
108
+ VIRGIN_ISLANDS_BRITISH = 'Virgin Islands (British)'
109
+
110
+ @list = {
111
+ UNITED_STATES => :US,
112
+ AMERICAN_SAMOA => :AS,
113
+ ANGUILLA => :AI,
114
+ ANTIGUA_AND_BARBUDA => :AG,
115
+ ARGENTINA => :AR,
116
+ ARMENIA => :AM,
117
+ ARUBA => :AW,
118
+ AUSTRALIA => :AU,
119
+ AUSTRIA => :AT,
120
+ AZERBAIJAN => :AZ,
121
+ BAHAMAS => :BS,
122
+ BAHRAIN => :BH,
123
+ BARBADOS => :BB,
124
+ BELARUS => :BY,
125
+ BELGIUM => :BE,
126
+ BELIZE => :BZ,
127
+ BERMUDA => :BM,
128
+ BRAZIL => :BR,
129
+ BULGARIA => :BG,
130
+ CANADA => :CA,
131
+ CAYMAN_ISLANDS => :KY,
132
+ CHILE => :CL,
133
+ CHINA => :CN,
134
+ COLUMBIA => :CO,
135
+ COSTA_RICA => :CR,
136
+ CUBA => :CU,
137
+ CURACAO => :CW,
138
+ CYPRUS => :CY,
139
+ CZECH_REPUBLIC => :CZ,
140
+ DENMARK => :DK,
141
+ DOMINICA => :DM,
142
+ DOMINICAN_REPUBLIC => :DO,
143
+ ECUADOR => :EC,
144
+ EGYPT => :EG,
145
+ EL_SALVADOR => :SV,
146
+ FINLAND => :FI,
147
+ FRANCE => :FR,
148
+ GERMANY => :DE,
149
+ GREECE => :GR,
150
+ GRENADA => :GD,
151
+ HAITI => :HT,
152
+ HONDURAS => :HN,
153
+ HONG_KONG => :HK,
154
+ HUNGARY => :HU,
155
+ ICELAND => :IS,
156
+ INDIA => :IN,
157
+ INDONESIA => :ID,
158
+ IRAN => :IR,
159
+ IRAQ => :IQ,
160
+ IRELAND => :IE,
161
+ ISRAEL => :IL,
162
+ ITALY => :IT,
163
+ JAMAICA => :JM,
164
+ JAPAN => :JP,
165
+ KENYA => :KE,
166
+ KUWAIT => :KW,
167
+ LEBANON => :LB,
168
+ LUXEMBOURG => :LU,
169
+ MACAO => :MO,
170
+ MALAWI => :MW,
171
+ MALAYSIA => :MY,
172
+ MEXICO => :MX,
173
+ MOLDOVA => :MD,
174
+ MONTSERRAT => :MS,
175
+ NETHERLANDS => :NL,
176
+ NEW_ZEALAND => :NZ,
177
+ NICARAGUA => :NI,
178
+ NORWAY => :NO,
179
+ OMAN => :OM,
180
+ PAKISTAN => :PK,
181
+ PERU => :PE,
182
+ PHILIPPINES => :PH,
183
+ POLAND => :PL,
184
+ PORTUGAL => :PT,
185
+ QATAR => :QA,
186
+ ROMANIA => :RO,
187
+ RUSSIA => :RU,
188
+ SAINT_KITTS_AND_NEVIS => :KN,
189
+ SAINT_LUCIA => :LC,
190
+ SAINT_MARTIN => :MF,
191
+ SAINT_VINCENT_AND_THE_GRENADINES => :VC,
192
+ SAUDI_ARABIA => :SA,
193
+ SINGAPORE => :SG,
194
+ SINT_MARTIN => :SX,
195
+ SLOVAKIA => :SK,
196
+ SLOVENIA => :SI,
197
+ SOUTH_AFRICA => :ZA,
198
+ SOUTH_KOREA => :KR,
199
+ SPAIN => :ES,
200
+ SRI_LANKA => :LK,
201
+ SWEDEN => :SE,
202
+ SWITZERLAND => :CH,
203
+ TAIWAN => :TW,
204
+ THAILAND => :TH,
205
+ TRINIDAD_AND_TOBAGO => :TT,
206
+ TURKEY => :TR,
207
+ TURKS_AND_CAICOS_ISLANDS => :TC,
208
+ UGANDA => :UG,
209
+ UKRAINE => :UA,
210
+ UNITED_ARAB_EMIRATES => :AE,
211
+ UNITED_KINGDOM => :UK,
212
+ URUGUAY => :UY,
213
+ VENEZUELA => :VE,
214
+ VIETNAM => :VN,
215
+ VIRGIN_ISLANDS_BRITISH => :VG
216
+ }.freeze
217
+
218
+ class << self
219
+ attr_reader :list
220
+ end
221
+ end
222
+ end
223
+ end