bucket_cake 0.1.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: de2886771d43c86f9e539738f95fec5bf37ed239
4
+ data.tar.gz: dc3e50cd910f84b6a39e59bbd5b3aaf17ec425db
5
+ SHA512:
6
+ metadata.gz: a8fe17eebe51bad3c9a9542af52d2ddd70ac298326fc3899ada6da09f385f239c6ffe8a2ca86a80e0d224df3054ec50f37eba75ce5c8004c72236d783524de42
7
+ data.tar.gz: 58024f0c828e296c9021f415e603d4043f6fec89e437d9f47ea00901f7cd6ff9819762b3eb161364e86b5679f7c5c37a91952ad22abc42e898c3be9a88f35770
@@ -0,0 +1,23 @@
1
+ module BucketCake
2
+ class Entities
3
+ def advertisers
4
+ Stream.new('advertisers', Cakeproto::Advertiser).get
5
+ end
6
+
7
+ def affiliates
8
+ Stream.new('affiliates', Cakeproto::Affiliate).get
9
+ end
10
+
11
+ def campaigns
12
+ Stream.new('campaigns', Cakeproto::Campaign).get
13
+ end
14
+
15
+ def creatives
16
+ Stream.new('creatives', Cakeproto::Creative).get
17
+ end
18
+
19
+ def offers
20
+ Stream.new('offers', Cakeproto::Offer).get
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+
8
+ ##
9
+ # Imports
10
+ #
11
+
12
+ module Cakeproto
13
+
14
+ ##
15
+ # Message Classes
16
+ #
17
+ class Advertiser < ::Protobuf::Message; end
18
+
19
+
20
+ ##
21
+ # Message Fields
22
+ #
23
+ class Advertiser
24
+ optional :int64, :id, 1
25
+ optional :string, :name, 2
26
+ optional ::Cakeproto::IdName, :account_manager, 3
27
+ optional ::Cakeproto::IdName, :account_status, 4
28
+ optional :string, :street1, 5
29
+ optional :string, :street2, 6
30
+ optional :string, :city, 7
31
+ optional :string, :state, 8
32
+ optional :string, :zip_code, 9
33
+ optional :string, :country, 10
34
+ optional :string, :website, 11
35
+ repeated ::Cakeproto::Contact, :contacts, 12
36
+ repeated ::Cakeproto::IdName, :tags, 13
37
+ repeated ::Cakeproto::SuppressionList, :suppression_lists, 14
38
+ repeated ::Cakeproto::Blacklist, :blacklists, 15
39
+ optional ::Cakeproto::IdName, :billing_cycle, 16
40
+ optional :string, :quickbooks_id, 17
41
+ optional :bool, :online_signup, 18
42
+ optional ::Cakeproto::TimeWithZone, :date_created, 19
43
+ optional :string, :notes, 20
44
+ end
45
+
46
+ end
47
+
@@ -0,0 +1,83 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+
8
+ ##
9
+ # Imports
10
+ #
11
+
12
+ module Cakeproto
13
+
14
+ ##
15
+ # Message Classes
16
+ #
17
+ class Affiliate < ::Protobuf::Message
18
+ class PaymentType < ::Protobuf::Message; end
19
+
20
+ end
21
+
22
+
23
+
24
+ ##
25
+ # Message Fields
26
+ #
27
+ class Affiliate
28
+ class PaymentType
29
+ optional :int64, :id, 1
30
+ optional :string, :name, 2
31
+ optional :string, :info, 3
32
+ end
33
+
34
+ optional :int64, :id, 1
35
+ optional :string, :name, 2
36
+ optional ::Cakeproto::IdName, :tier, 3
37
+ optional ::Cakeproto::IdName, :account_manager, 4
38
+ optional ::Cakeproto::IdName, :account_status, 5
39
+ optional :string, :street1, 6
40
+ optional :string, :street2, 7
41
+ optional :string, :city, 8
42
+ optional :string, :state, 9
43
+ optional :string, :zip_code, 10
44
+ optional :string, :country, 11
45
+ optional :string, :website, 12
46
+ optional ::Cakeproto::Affiliate::PaymentType, :payment_type, 13
47
+ repeated ::Cakeproto::Contact, :contacts, 14
48
+ repeated ::Cakeproto::IdName, :tags, 15
49
+ repeated ::Cakeproto::IdName, :traffic_price_formats, 16
50
+ repeated ::Cakeproto::MediaType, :traffic_media_types, 17
51
+ repeated ::Cakeproto::IdName, :traffic_vertical_categories, 18
52
+ repeated ::Cakeproto::Country, :traffic_countries, 19
53
+ optional :double, :minimum_payment_threshold, 20
54
+ optional :double, :auto_payment_fee, 21
55
+ optional :string, :payment_to, 22
56
+ optional :string, :tax_class, 23
57
+ optional :string, :ssn_tax_id, 24
58
+ optional :bool, :pay_vat, 25
59
+ optional :string, :swift_iban, 26
60
+ optional :bool, :referrals_enabled, 27
61
+ optional ::Cakeproto::IdName, :referred_by_affiliate, 28
62
+ optional :string, :referral_info, 29
63
+ optional ::Cakeproto::IdName, :billing_cycle, 30
64
+ optional ::Cakeproto::Currency, :currency, 31
65
+ optional ::Cakeproto::IdName, :currency_payment_setting, 32
66
+ optional :bool, :online_signup, 33
67
+ optional :bool, :pay_for_conversions, 34
68
+ optional :bool, :review, 35
69
+ optional :bool, :review_new_subaffiliates, 36
70
+ optional :bool, :suppression, 37
71
+ optional ::Cakeproto::PixelInfo, :pixel_info, 38
72
+ optional :bool, :fire_global_pixel, 39
73
+ repeated ::Cakeproto::Blacklist, :blacklists, 40
74
+ optional :string, :redirect_domain_override, 41
75
+ optional :bool, :auto_approve_campaigns, 42
76
+ optional :bool, :auto_approve_pixels, 43
77
+ optional :bool, :hide_offers, 44
78
+ optional ::Cakeproto::TimeWithZone, :date_created, 45
79
+ optional :string, :notes, 46
80
+ end
81
+
82
+ end
83
+
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+
8
+ ##
9
+ # Imports
10
+ #
11
+
12
+ module Cakeproto
13
+
14
+ ##
15
+ # Message Classes
16
+ #
17
+ class Campaign < ::Protobuf::Message
18
+ class VoucherCode < ::Protobuf::Message; end
19
+
20
+ end
21
+
22
+
23
+
24
+ ##
25
+ # Message Fields
26
+ #
27
+ class Campaign
28
+ class VoucherCode
29
+ optional :string, :name, 1
30
+ optional ::Cakeproto::IdName, :creative, 2
31
+ optional ::Cakeproto::TimeWithZone, :start_date, 3
32
+ optional ::Cakeproto::TimeWithZone, :expiration_date, 4
33
+ optional :bool, :active, 5
34
+ end
35
+
36
+ optional :int64, :id, 1
37
+ optional ::Cakeproto::IdName, :type, 2
38
+ optional ::Cakeproto::IdName, :affiliate, 3
39
+ optional ::Cakeproto::IdName, :offer, 4
40
+ optional ::Cakeproto::IdName, :offer_contract, 5
41
+ optional :bool, :original, 6
42
+ repeated ::Cakeproto::IdName, :blocked_sub_affiliates, 7
43
+ repeated ::Cakeproto::IdName, :blocked_creatives, 8
44
+ optional ::Cakeproto::IdName, :account_status, 9
45
+ optional ::Cakeproto::Currency, :currency, 10
46
+ optional ::Cakeproto::IdName, :media_type, 11
47
+ optional ::Cakeproto::IdName, :link_display_type, 12
48
+ repeated ::Cakeproto::EventOverride, :event_overrides, 13
49
+ optional ::Cakeproto::TimeWithZone, :date_contacted, 14
50
+ optional ::Cakeproto::TimeWithZone, :date_io_sent, 15
51
+ optional ::Cakeproto::TimeWithZone, :date_io_signed, 16
52
+ optional ::Cakeproto::TimeWithZone, :date_creative_sent, 17
53
+ optional ::Cakeproto::TimeWithZone, :date_pixel_placed, 18
54
+ repeated ::Cakeproto::HistorizedMoney, :payouts, 19
55
+ optional :bool, :paid, 20
56
+ optional :bool, :paid_redirects, 21
57
+ optional :bool, :disable_prepop_appending, 22
58
+ optional :string, :redirect_domain, 23
59
+ optional ::Cakeproto::Cap, :click_cap, 24
60
+ optional ::Cakeproto::Cap, :conversion_cap, 25
61
+ optional ::Cakeproto::PixelInfo, :pixel_info, 26
62
+ optional :bool, :disable_upsells, 27
63
+ optional :bool, :paid_upsells, 28
64
+ optional :bool, :paid_upsells_same_session_only, 29
65
+ optional :bool, :clear_session_on_conversion, 30
66
+ repeated ::Cakeproto::Upsell, :upsells, 31
67
+ repeated ::Cakeproto::Campaign::VoucherCode, :voucher_codes, 32
68
+ optional :string, :test_link, 33
69
+ optional ::Cakeproto::IdName, :redirect_offer, 34
70
+ optional :bool, :redirect404, 35
71
+ optional ::Cakeproto::TimeWithZone, :date_created, 36
72
+ optional ::Cakeproto::TimeWithZone, :expiration_date, 37
73
+ optional :string, :notes, 38
74
+ end
75
+
76
+ end
77
+
@@ -0,0 +1,145 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+ module Cakeproto
8
+
9
+ ##
10
+ # Message Classes
11
+ #
12
+ class IdName < ::Protobuf::Message; end
13
+ class TimeWithZone < ::Protobuf::Message; end
14
+ class Currency < ::Protobuf::Message; end
15
+ class PixelInfo < ::Protobuf::Message; end
16
+ class Money < ::Protobuf::Message; end
17
+ class MediaType < ::Protobuf::Message; end
18
+ class Country < ::Protobuf::Message; end
19
+ class SuppressionList < ::Protobuf::Message; end
20
+ class Contact < ::Protobuf::Message; end
21
+ class Blacklist < ::Protobuf::Message; end
22
+ class Cap < ::Protobuf::Message; end
23
+ class HistorizedMoney < ::Protobuf::Message; end
24
+ class EventOverride < ::Protobuf::Message; end
25
+ class Upsell < ::Protobuf::Message; end
26
+
27
+
28
+ ##
29
+ # Message Fields
30
+ #
31
+ class IdName
32
+ optional :int64, :id, 1
33
+ optional :string, :name, 2
34
+ end
35
+
36
+ class TimeWithZone
37
+ optional :int64, :unix_seconds, 1
38
+ optional :string, :timezone_location, 2
39
+ end
40
+
41
+ class Currency
42
+ optional :int64, :id, 1
43
+ optional :string, :symbol, 2
44
+ optional :string, :name, 3
45
+ optional :string, :abbr, 4
46
+ end
47
+
48
+ class PixelInfo
49
+ optional :string, :html, 1
50
+ optional ::Cakeproto::IdName, :hash_type, 2
51
+ optional :string, :postback_url, 3
52
+ optional :int64, :postback_delay_ms, 4
53
+ end
54
+
55
+ class Money
56
+ optional :bool, :is_percentage, 1
57
+ optional :double, :amount, 2
58
+ optional :string, :formatted_amount, 3
59
+ end
60
+
61
+ class MediaType
62
+ optional :int64, :id, 1
63
+ optional :string, :name, 2
64
+ optional :int64, :category_id, 3
65
+ optional :string, :category_name, 4
66
+ end
67
+
68
+ class Country
69
+ optional :string, :code, 1
70
+ optional :string, :name, 2
71
+ end
72
+
73
+ class SuppressionList
74
+ optional :int64, :id, 1
75
+ optional :string, :name, 2
76
+ optional ::Cakeproto::IdName, :type, 3
77
+ optional :bool, :md5_only, 4
78
+ optional ::Cakeproto::TimeWithZone, :date_created, 5
79
+ optional ::Cakeproto::TimeWithZone, :date_updated, 6
80
+ optional :string, :list_location, 7
81
+ end
82
+
83
+ class Contact
84
+ optional :int64, :id, 1
85
+ optional ::Cakeproto::IdName, :type, 2
86
+ optional ::Cakeproto::IdName, :role, 3
87
+ optional :string, :first_name, 4
88
+ optional :string, :last_name, 5
89
+ optional :string, :email_address, 6
90
+ optional :string, :title, 7
91
+ optional :string, :phone_work, 8
92
+ optional :string, :phone_cell, 9
93
+ optional :string, :phone_fax, 10
94
+ optional :string, :im_service, 11
95
+ optional :string, :im_name, 12
96
+ optional :bool, :include_in_mass_emails, 13
97
+ optional :string, :notes, 14
98
+ end
99
+
100
+ class Blacklist
101
+ optional ::Cakeproto::IdName, :advertiser, 1
102
+ optional ::Cakeproto::IdName, :offer, 2
103
+ optional ::Cakeproto::IdName, :affiliate, 3
104
+ optional ::Cakeproto::IdName, :sub_affiliate, 4
105
+ optional ::Cakeproto::IdName, :reason, 5
106
+ optional ::Cakeproto::IdName, :type, 6
107
+ optional ::Cakeproto::TimeWithZone, :date_created, 7
108
+ end
109
+
110
+ class Cap
111
+ optional :int64, :limit, 1
112
+ optional ::Cakeproto::IdName, :interval, 2
113
+ optional ::Cakeproto::TimeWithZone, :start_date, 3
114
+ optional :bool, :review_no_redirect, 4
115
+ end
116
+
117
+ class HistorizedMoney
118
+ optional :bool, :current, 1
119
+ optional ::Cakeproto::TimeWithZone, :start_date, 2
120
+ optional ::Cakeproto::Money, :money, 3
121
+ optional :string, :notes, 4
122
+ end
123
+
124
+ class EventOverride
125
+ optional :int64, :id, 1
126
+ optional :string, :name, 2
127
+ optional :bool, :active, 3
128
+ optional :string, :payout_fallback, 4
129
+ optional :string, :received_fallback, 5
130
+ optional ::Cakeproto::Cap, :cap, 6
131
+ optional ::Cakeproto::TimeWithZone, :start_date, 7
132
+ optional :bool, :review_no_redirect, 8
133
+ end
134
+
135
+ class Upsell
136
+ optional ::Cakeproto::IdName, :offer_contract, 1
137
+ optional ::Cakeproto::IdName, :creative, 2
138
+ optional :int64, :order, 3
139
+ optional :string, :top_html, 4
140
+ optional :string, :bottom_html, 5
141
+ optional :bool, :prepop_link, 6
142
+ end
143
+
144
+ end
145
+
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+
8
+ ##
9
+ # Imports
10
+ #
11
+
12
+ module Cakeproto
13
+
14
+ ##
15
+ # Message Classes
16
+ #
17
+ class Creative < ::Protobuf::Message
18
+ class File < ::Protobuf::Message; end
19
+
20
+ end
21
+
22
+
23
+
24
+ ##
25
+ # Message Fields
26
+ #
27
+ class Creative
28
+ class File
29
+ optional :int64, :id, 1
30
+ optional :string, :name, 2
31
+ optional :string, :link, 3
32
+ optional :bool, :preview, 4
33
+ optional ::Cakeproto::TimeWithZone, :date_created, 5
34
+ end
35
+
36
+ optional :int64, :id, 1
37
+ optional :string, :name, 2
38
+ optional :int64, :offer_id, 3
39
+ optional ::Cakeproto::IdName, :type, 4
40
+ optional ::Cakeproto::IdName, :status, 5
41
+ optional :string, :offer_link_override, 6
42
+ optional :int64, :width, 7
43
+ optional :int64, :height, 8
44
+ repeated ::Cakeproto::Creative::File, :files, 9
45
+ optional ::Cakeproto::TimeWithZone, :date_created, 10
46
+ optional ::Cakeproto::TimeWithZone, :expiration_date, 11
47
+ optional :string, :notes, 12
48
+ end
49
+
50
+ end
51
+
@@ -0,0 +1,123 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+
7
+
8
+ ##
9
+ # Imports
10
+ #
11
+
12
+ module Cakeproto
13
+
14
+ ##
15
+ # Message Classes
16
+ #
17
+ class Offer < ::Protobuf::Message
18
+ class Contract < ::Protobuf::Message
19
+ class Rule < ::Protobuf::Message; end
20
+ class GeoTarget < ::Protobuf::Message; end
21
+
22
+ end
23
+
24
+ class Tier < ::Protobuf::Message; end
25
+
26
+ end
27
+
28
+
29
+
30
+ ##
31
+ # Message Fields
32
+ #
33
+ class Offer
34
+ class Contract
35
+ class Rule
36
+ optional :int64, :id, 1
37
+ optional :string, :name, 2
38
+ optional :int64, :order, 3
39
+ optional :bool, :active, 4
40
+ optional ::Cakeproto::IdName, :redirect_offer, 5
41
+ end
42
+
43
+ class GeoTarget
44
+ optional ::Cakeproto::Country, :country, 1
45
+ optional ::Cakeproto::IdName, :redirect_contract, 2
46
+ end
47
+
48
+ optional :int64, :id, 1
49
+ optional :string, :name, 2
50
+ optional ::Cakeproto::IdName, :price_format, 3
51
+ optional ::Cakeproto::Money, :current_payout, 4
52
+ optional ::Cakeproto::Money, :current_received, 5
53
+ optional :string, :offer_link, 6
54
+ optional :string, :thankyou_link, 7
55
+ optional :bool, :hidden, 8
56
+ optional ::Cakeproto::IdName, :targeting_method, 9
57
+ repeated ::Cakeproto::EventOverride, :event_overrides, 10
58
+ repeated ::Cakeproto::HistorizedMoney, :payouts, 11
59
+ repeated ::Cakeproto::HistorizedMoney, :prices_received, 12
60
+ repeated ::Cakeproto::Offer::Contract::GeoTarget, :allowed_countries, 13
61
+ repeated ::Cakeproto::Offer::Contract::GeoTarget, :disallowed_countries, 14
62
+ repeated ::Cakeproto::Offer::Contract::Rule, :rules, 15
63
+ end
64
+
65
+ class Tier
66
+ optional ::Cakeproto::IdName, :price_format, 1
67
+ optional ::Cakeproto::IdName, :affiliate_tier, 2
68
+ optional ::Cakeproto::IdName, :contract, 3
69
+ end
70
+
71
+ optional :int64, :id, 1
72
+ optional :string, :name, 2
73
+ optional ::Cakeproto::IdName, :advertiser, 3
74
+ optional ::Cakeproto::IdName, :vertical, 4
75
+ optional ::Cakeproto::IdName, :type, 5
76
+ optional ::Cakeproto::IdName, :status, 6
77
+ optional :bool, :hidden, 7
78
+ optional :string, :image_link, 8
79
+ optional :int64, :default_contract_id, 9
80
+ repeated ::Cakeproto::Offer::Contract, :contracts, 10
81
+ repeated ::Cakeproto::Offer::Tier, :tiers, 11
82
+ repeated ::Cakeproto::IdName, :tags, 12
83
+ repeated ::Cakeproto::MediaType, :allowed_media_types, 13
84
+ optional ::Cakeproto::Currency, :currency, 14
85
+ optional :bool, :ssl, 15
86
+ optional ::Cakeproto::Cap, :click_cap, 16
87
+ optional ::Cakeproto::Cap, :conversion_cap, 17
88
+ optional :int64, :click_cookie_days, 18
89
+ optional :int64, :impression_cookie_days, 19
90
+ optional :bool, :enable_view_thru_conversions, 20
91
+ optional :bool, :click_trumps_impression, 21
92
+ optional :bool, :disable_click_deduplication, 22
93
+ optional :bool, :disable_impression_deduplication, 23
94
+ optional ::Cakeproto::IdName, :voucher_code_attribution, 24
95
+ optional :bool, :last_touch, 25
96
+ optional :bool, :enable_transaction_id_deduplication, 26
97
+ optional :bool, :conversions_from_whitelist_only, 27
98
+ optional ::Cakeproto::PixelInfo, :pixel_info, 28
99
+ optional :bool, :fire_global_pixel, 29
100
+ optional :bool, :fire_pixel_on_non_paid_conversions, 30
101
+ optional :bool, :disable_prepop_appending, 31
102
+ optional ::Cakeproto::IdName, :redirect_offer, 32
103
+ optional :bool, :redirect404, 33
104
+ optional :int64, :session_regeneration_seconds, 34
105
+ optional ::Cakeproto::IdName, :session_regeneration_type, 35
106
+ optional ::Cakeproto::SuppressionList, :suppression_list, 36
107
+ optional :string, :unsubscribe_link, 37
108
+ optional :string, :preview_link, 38
109
+ optional :string, :description, 39
110
+ optional :string, :restrictions, 40
111
+ optional :string, :advertiser_extended_terms, 41
112
+ optional :string, :testing_instructions, 42
113
+ optional :string, :from_lines, 43
114
+ optional :string, :subject_lines, 44
115
+ repeated ::Cakeproto::Upsell, :upsells, 45
116
+ optional :string, :thankyou_html, 46
117
+ optional :string, :notes, 47
118
+ optional ::Cakeproto::TimeWithZone, :date_created, 48
119
+ optional ::Cakeproto::TimeWithZone, :expiration_date, 49
120
+ end
121
+
122
+ end
123
+
@@ -0,0 +1,15 @@
1
+ module Cakeproto
2
+ class TimeWithZone
3
+ def to_utc
4
+ Time.at(unix_seconds).utc
5
+ end
6
+
7
+ def to_local
8
+ to_utc.in_time_zone(timezone_location)
9
+ end
10
+
11
+ def to_date
12
+ to_local.to_date
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,45 @@
1
+ module BucketCake
2
+ class Stream
3
+ def initialize(type, klass)
4
+ @type = type
5
+ @klass = klass
6
+ end
7
+
8
+ def get
9
+ Enumerator.new do |y|
10
+ objects.each do |object|
11
+ unzip_elements(object.get.body) do |element|
12
+ y << klass.decode(element)
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ attr_reader :type, :klass
21
+
22
+ def unzip_elements(zip_io)
23
+ # we need to force binary encoding, otherwise binary zip data will be parsed as utf-8
24
+ zip_io.set_encoding('BINARY'.freeze)
25
+
26
+ Zip::File.open_buffer(zip_io.read) do |files|
27
+ files.each do |entry|
28
+ yield entry.get_input_stream.read
29
+ end
30
+ end
31
+ end
32
+
33
+ def objects
34
+ bucket.objects(prefix: "#{type}/#{latest_path}/part")
35
+ end
36
+
37
+ def latest_path
38
+ bucket.object("#{type}/latest").get.body.read
39
+ end
40
+
41
+ def bucket
42
+ @bucket ||= Aws::S3::Bucket.new(ENV.fetch('CAKE_DATA_BUCKET'.freeze))
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,3 @@
1
+ module BucketCake
2
+ VERSION = '0.1.0'.freeze
3
+ end
@@ -0,0 +1,20 @@
1
+ require 'aws-sdk'
2
+ require 'zip'
3
+ require 'protobuf'
4
+ require 'active_support/time'
5
+
6
+ require 'bucket_cake/version'
7
+ require 'bucket_cake/stream'
8
+
9
+ require 'bucket_cake/proto/common.pb'
10
+ require 'bucket_cake/proto/advertisers.pb'
11
+ require 'bucket_cake/proto/affiliates.pb'
12
+ require 'bucket_cake/proto/campaigns.pb'
13
+ require 'bucket_cake/proto/creatives.pb'
14
+ require 'bucket_cake/proto/offers.pb'
15
+
16
+ require 'bucket_cake/proto_ext/time_with_zone'
17
+
18
+ require 'bucket_cake/entities'
19
+
20
+ Protobuf.ignore_unknown_fields = false
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bucket_cake
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - ad2games developers
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sdk
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubyzip
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: protobuf
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: vcr
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description:
168
+ email:
169
+ - developers@ad2games.com
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - lib/bucket_cake.rb
175
+ - lib/bucket_cake/entities.rb
176
+ - lib/bucket_cake/proto/advertisers.pb.rb
177
+ - lib/bucket_cake/proto/affiliates.pb.rb
178
+ - lib/bucket_cake/proto/campaigns.pb.rb
179
+ - lib/bucket_cake/proto/common.pb.rb
180
+ - lib/bucket_cake/proto/creatives.pb.rb
181
+ - lib/bucket_cake/proto/offers.pb.rb
182
+ - lib/bucket_cake/proto_ext/time_with_zone.rb
183
+ - lib/bucket_cake/stream.rb
184
+ - lib/bucket_cake/version.rb
185
+ homepage: https://github.com/ad2games/bucket_cake
186
+ licenses:
187
+ - MIT
188
+ metadata: {}
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.5.0
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: Get cakeproto objects from S3.
209
+ test_files: []