brownpapertickets 0.0.15 → 0.0.16

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.
@@ -8,7 +8,7 @@
8
8
 
9
9
  module BrownPaperTickets
10
10
  class Base
11
- attr_reader :id, :account, :event, :date, :price, :orderlist
11
+ attr_reader :id, :account, :event, :date, :price, :orderlist, :eventsale
12
12
 
13
13
  # Needs the brownpapersticker's credentials (id and account),
14
14
  # creates a new instance of event, date and price
@@ -21,6 +21,7 @@ module BrownPaperTickets
21
21
  @date = BrownPaperTickets::Date.new(self.id, self.account)
22
22
  @price = BrownPaperTickets::Price.new(self.id, self.account)
23
23
  @eventsale = BrownPaperTickets::Eventsales.new(self.id, self.account)
24
+ @orderlist = BrownPaperTickets::Orderlist.new(self.id, self.account)
24
25
  end
25
26
 
26
27
  # Returns the event
@@ -38,6 +39,9 @@ module BrownPaperTickets
38
39
  def eventsales
39
40
  @eventsale
40
41
  end
42
+ def orderlists
43
+ @orderlist
44
+ end
41
45
  end
42
46
 
43
47
  end
@@ -49,7 +49,9 @@ module BrownPaperTickets
49
49
  body = {"id" => @@id, "account" => @@account, "event_id" => event_id}
50
50
  query = self.attributes.merge("id" => @@id, "account" => @@account)
51
51
  response = BrownPaperTickets::Httpost.new(Net::HTTP::Get, "https://www.brownpapertickets.com/api2/eventsales",:query => query)
52
- response
52
+ response.options[:body] = query
53
+ st = response.perform
54
+ xml = st.response.body
53
55
  end
54
56
 
55
57
  def server_response
@@ -0,0 +1,67 @@
1
+ require 'hpricot'
2
+ module BrownPaperTickets
3
+ class Orderlist
4
+ include HTTParty
5
+ base_uri "https://www.brownpapertickets.com/api2"
6
+
7
+ attr_reader :attributes, :server_response
8
+
9
+ REQUIRED_ATTR=["event_id"]
10
+
11
+ ATTRS=["event_id", "order_time", "quantity", "fname", "lname", "address", "city", "state", "zip",
12
+ "country", "email", "phone","cc","shipping_method","order_notes","ticket_number", "section", "row","seat",
13
+ "date_id", "price_id"]
14
+
15
+ def initialize(id, account, attributes={})
16
+ @@id = id
17
+ @@account = account
18
+ @attributes = attributes
19
+ end
20
+
21
+ def new(params={})
22
+ Event.new(@@id,@@account, params, event_id)
23
+ end
24
+
25
+ def method_missing(m, *args, &block)
26
+ if ATTRS.include?(m.to_s.gsub("=",""))
27
+ if m.to_s.include?("=")
28
+ self.attributes[m.to_s.gsub("=","")] = *args.to_s
29
+ else
30
+ result = self.attributes[m.to_s]
31
+ end
32
+ else
33
+ raise NoMethodError.new("Method missing #{m}")
34
+ end
35
+ end
36
+
37
+ def validates_required_attr
38
+ missing_field = []
39
+ REQUIRED_ATTR.each do |attr|
40
+ missing_field << attr if self.send(attr,nil,nil).blank?
41
+ end
42
+ unless missing_field.blank?
43
+ @server_response = "The following attributes are missing:"
44
+ missing_field.each{|att| @server_response = @server_response + " " + att }
45
+ return false
46
+ end
47
+ return true
48
+ end
49
+
50
+ def create_report
51
+ body = {"id" => @@id, "account" => @@account, "event_id" => event_id}
52
+ query = self.attributes.merge("id" => @@id, "account" => @@account)
53
+ response = BrownPaperTickets::Httpost.new(Net::HTTP::Get, "https://www.brownpapertickets.com/api2/orderlist",:query => query)
54
+ response.options[:body] = query
55
+ st = response.perform
56
+ xml = st.response.body
57
+ end
58
+
59
+ def server_response
60
+ @server_response
61
+ end
62
+
63
+ def attributes
64
+ @attributes
65
+ end
66
+ end
67
+ end
@@ -1,3 +1,3 @@
1
1
  module BrownPaperTickets
2
- VERSION = "0.0.15"
2
+ VERSION = "0.0.16"
3
3
  end
@@ -6,6 +6,7 @@ require File.join(File.dirname(__FILE__), 'brownpapertickets/event')
6
6
  require File.join(File.dirname(__FILE__), 'brownpapertickets/date')
7
7
  require File.join(File.dirname(__FILE__), 'brownpapertickets/price')
8
8
  require File.join(File.dirname(__FILE__), 'brownpapertickets/eventsales')
9
+ require File.join(File.dirname(__FILE__), 'brownpapertickets/orderlist')
9
10
  require File.join(File.dirname(__FILE__), 'brownpapertickets/httpost')
10
11
  module BrownPaperTickets
11
12
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brownpapertickets
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 63
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 15
10
- version: 0.0.15
9
+ - 16
10
+ version: 0.0.16
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alvaro Insignares
@@ -114,6 +114,7 @@ files:
114
114
  - lib/brownpapertickets/event.rb
115
115
  - lib/brownpapertickets/eventsales.rb
116
116
  - lib/brownpapertickets/httpost.rb
117
+ - lib/brownpapertickets/orderlist.rb
117
118
  - lib/brownpapertickets/price.rb
118
119
  - lib/brownpapertickets/version.rb
119
120
  - lib/brownpapertickets/xmlparse.rb