amiando 0.3.10 → 0.3.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.
- data/lib/amiando.rb +1 -0
- data/lib/amiando/event.rb +0 -9
- data/lib/amiando/partner.rb +0 -7
- data/lib/amiando/resource.rb +4 -4
- data/lib/amiando/ticket_category.rb +0 -9
- data/lib/amiando/ticket_shop.rb +0 -17
- data/lib/amiando/user.rb +0 -3
- data/lib/amiando/utils.rb +21 -0
- data/lib/amiando/version.rb +1 -1
- data/test/amiando/resource_test.rb +3 -5
- data/test/amiando/ticket_type_test.rb +19 -13
- data/test/test_helper.rb +4 -0
- metadata +5 -4
data/lib/amiando.rb
CHANGED
data/lib/amiando/event.rb
CHANGED
@@ -3,17 +3,8 @@ module Amiando
|
|
3
3
|
##
|
4
4
|
# http://developers.amiando.com/index.php/REST_API_Events
|
5
5
|
class Event < Resource
|
6
|
-
map :host_id, :hostId
|
7
6
|
map :selected_date, :selectedDate, :type => :time
|
8
7
|
map :selected_end_date, :selectedEndDate, :type => :time
|
9
|
-
map :short_description, :shortDescription
|
10
|
-
map :event_type, :eventType
|
11
|
-
map :organisator_display_name, :organisatorDisplayName
|
12
|
-
map :partner_event_url, :partnerEventUrl
|
13
|
-
map :publish_search_engines, :publishSearchEngines
|
14
|
-
map :search_engine_tags, :searchEngineTags
|
15
|
-
map :location_description, :locationDescription
|
16
|
-
map :zip_code, :zipCode
|
17
8
|
map :creation_time, :creationTime, :type => :time
|
18
9
|
map :last_modified, :lastModified, :type => :time
|
19
10
|
|
data/lib/amiando/partner.rb
CHANGED
@@ -3,13 +3,6 @@ module Amiando
|
|
3
3
|
##
|
4
4
|
# http://developers.amiando.com/index.php/REST_API_Partner
|
5
5
|
class Partner < Resource
|
6
|
-
map :admin_id, :adminId
|
7
|
-
map :default_country, :defaultCountry
|
8
|
-
map :menu_css_url, :menuCssUrl
|
9
|
-
map :ticket_shop_css_url, :ticketShopCssUrl
|
10
|
-
map :sso_callback, :ssoCallback
|
11
|
-
map :referrer_partner_id, :referrerPartnerId
|
12
|
-
|
13
6
|
##
|
14
7
|
# Creates a partner.
|
15
8
|
#
|
data/lib/amiando/resource.rb
CHANGED
@@ -14,11 +14,11 @@ module Amiando
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def typecasting
|
17
|
-
|
17
|
+
@typecasting ||= {}
|
18
18
|
end
|
19
19
|
|
20
20
|
def mapping
|
21
|
-
|
21
|
+
@mapping ||= {}
|
22
22
|
end
|
23
23
|
|
24
24
|
##
|
@@ -26,7 +26,7 @@ module Amiando
|
|
26
26
|
# to { :firstName => '1', :lastName => '2' }
|
27
27
|
def map_params(attributes)
|
28
28
|
mapped_attributes = attributes.map do |key,value|
|
29
|
-
mapped_key = mapping[key] || key
|
29
|
+
mapped_key = mapping[key] || Utils.camelize(key, :lower).to_sym
|
30
30
|
value = typecast(key, value)
|
31
31
|
[mapped_key, value]
|
32
32
|
end
|
@@ -37,7 +37,7 @@ module Amiando
|
|
37
37
|
inverted_mapping = mapping.invert
|
38
38
|
mapped_attributes = attributes.map do |key,value|
|
39
39
|
key = key.to_sym
|
40
|
-
mapped_key = inverted_mapping[key] || key
|
40
|
+
mapped_key = inverted_mapping[key] || Utils.underscore(key).to_sym
|
41
41
|
value = inverse_typecast(mapped_key, value)
|
42
42
|
[mapped_key, value]
|
43
43
|
end
|
@@ -5,15 +5,6 @@ module Amiando
|
|
5
5
|
class TicketCategory < Resource
|
6
6
|
map :sale_start, :saleStart, :type => :time
|
7
7
|
map :sale_end, :saleEnd, :type => :time
|
8
|
-
map :reserved_count, :reservedCount
|
9
|
-
map :min_sell, :minSell
|
10
|
-
map :max_sell, :maxSell
|
11
|
-
map :default_value, :defaultValue
|
12
|
-
map :min_sell_required, :minSellRequired
|
13
|
-
map :ticket_description, :ticketDescription
|
14
|
-
map :display_price, :displayPrice
|
15
|
-
map :display_quantity, :displayQuantity
|
16
|
-
map :price_editable, :priceEditable
|
17
8
|
|
18
9
|
##
|
19
10
|
# Creates a ticket category for an event
|
data/lib/amiando/ticket_shop.rb
CHANGED
@@ -10,23 +10,6 @@ module Amiando
|
|
10
10
|
# If you delete the related event, the ticketshop will also be deleted.
|
11
11
|
#
|
12
12
|
class TicketShop < Resource
|
13
|
-
|
14
|
-
map :ticket_base_fee, :ticketBaseFee
|
15
|
-
map :product_disagio, :productDisagio
|
16
|
-
map :fee_inclusive, :feeInclusive
|
17
|
-
map :shipment_fee_inclusive, :shipmentFeeInclusive
|
18
|
-
map :sales_tax, :salesTax
|
19
|
-
map :available_limit, :availableLimit
|
20
|
-
map :show_available_tickets, :showAvailableTickets
|
21
|
-
map :cancelation_possible, :cancelationPossible
|
22
|
-
map :num_tickets_sold, :numTicketsSold
|
23
|
-
map :total_income, :totalIncome
|
24
|
-
map :total_fees, :totalFees
|
25
|
-
map :collect_user_data, :collectUserData
|
26
|
-
map :max_possible_number_of_participants, :maxPossibleNumberOfParticipants
|
27
|
-
map :num_tickets_checked, :numTicketsChecked
|
28
|
-
map :vat_id, :vatId
|
29
|
-
|
30
13
|
##
|
31
14
|
# Get the ticket shop of an event.
|
32
15
|
#
|
data/lib/amiando/user.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Amiando
|
2
|
+
module Utils
|
3
|
+
extend self
|
4
|
+
|
5
|
+
def camelize(lower_case_and_underscored_word, first_letter_in_downcase = false)
|
6
|
+
if first_letter_in_downcase
|
7
|
+
lower_case_and_underscored_word.to_s[0].chr.downcase + camelize(lower_case_and_underscored_word)[1..-1]
|
8
|
+
else
|
9
|
+
lower_case_and_underscored_word.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def underscore(camel_cased_word)
|
14
|
+
word = camel_cased_word.to_s.dup
|
15
|
+
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
16
|
+
word.tr!("-", "_")
|
17
|
+
word.downcase!
|
18
|
+
word
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/amiando/version.rb
CHANGED
@@ -2,9 +2,7 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
describe Amiando::Resource do
|
4
4
|
class Wadus < Amiando::Resource
|
5
|
-
map :
|
6
|
-
map :last_name , :lastName
|
7
|
-
map :creation, :creation, :type => :time
|
5
|
+
map :creation, :creationTime, :type => :time
|
8
6
|
|
9
7
|
def self.create(params = {})
|
10
8
|
object = new
|
@@ -82,7 +80,7 @@ describe Amiando::Resource do
|
|
82
80
|
|
83
81
|
it 'maps attributes with typecasting' do
|
84
82
|
time = Time.at(0).utc
|
85
|
-
expected = { :
|
83
|
+
expected = { :creationTime => '1970-01-01T00:00:00Z' }
|
86
84
|
Wadus.map_params(:creation => time).must_equal expected
|
87
85
|
end
|
88
86
|
|
@@ -94,7 +92,7 @@ describe Amiando::Resource do
|
|
94
92
|
|
95
93
|
it 'reverse maps attributes with typecasting' do
|
96
94
|
time = Time.at(0).utc
|
97
|
-
expected = { :
|
95
|
+
expected = { :creation => time }
|
98
96
|
Wadus.reverse_map_params(:creationTime => '1970-01-01T00:00:00Z').must_equal expected
|
99
97
|
end
|
100
98
|
|
@@ -28,19 +28,25 @@ describe Amiando::TicketType do
|
|
28
28
|
ticket_type.errors.must_include "com.amiando.api.rest.ticketType.TicketTypeNotAllowed"
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
31
|
+
describe 'param convertion' do
|
32
|
+
after do
|
33
|
+
Amiando.reset_requests
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should accept a Hash as a param' do
|
37
|
+
ticket_type = Amiando::TicketType.create(event.id, :type => :eticket)
|
38
|
+
ticket_type.request.params.must_equal(:type => "TICKETTYPE_ETICKET")
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should accept a ticket string as a param' do
|
42
|
+
ticket_type = Amiando::TicketType.create(event.id, :type => "TICKETTYPE_ETICKET")
|
43
|
+
ticket_type.request.params.must_equal(:type => "TICKETTYPE_ETICKET")
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should accept a short string as a param' do
|
47
|
+
ticket_type = Amiando::TicketType.create(event.id, "ETICKET")
|
48
|
+
ticket_type.request.params.must_equal(:type => "TICKETTYPE_ETICKET")
|
49
|
+
end
|
44
50
|
end
|
45
51
|
end
|
46
52
|
|
data/test/test_helper.rb
CHANGED
@@ -32,6 +32,10 @@ module Amiando
|
|
32
32
|
self.api_key = TEST_KEY = Amiando::Factory.create(:api_key, :name => 'test key').key
|
33
33
|
|
34
34
|
TEST_USER = Amiando::Factory.create(:user, :username => "jorgellop-base-#{HydraCache.revision}@example.com")
|
35
|
+
|
36
|
+
def self.reset_requests
|
37
|
+
@requests = []
|
38
|
+
end
|
35
39
|
end
|
36
40
|
|
37
41
|
HydraCache.prefix = nil
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amiando
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 11
|
10
|
+
version: 0.3.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jorge Dias
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-01-
|
19
|
+
date: 2012-01-31 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: typhoeus
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- lib/amiando/ticket_shop.rb
|
126
126
|
- lib/amiando/ticket_type.rb
|
127
127
|
- lib/amiando/user.rb
|
128
|
+
- lib/amiando/utils.rb
|
128
129
|
- lib/amiando/version.rb
|
129
130
|
- test/amiando/amiando_test.rb
|
130
131
|
- test/amiando/api_key_test.rb
|