perfecta 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 46ddcaccb8c6c33dbf919009621b431d3cbd9df7
4
- data.tar.gz: 36f0ecbd458731641ff6161fd53403d5eacd79e0
3
+ metadata.gz: 5064f0473a8cb2bdc68704d73284a177bf99e320
4
+ data.tar.gz: 0711e0118eeeec92b47a9937b2fde0260e75825f
5
5
  SHA512:
6
- metadata.gz: acde9279ce53006f813da63a8dc86342c200cac4d727b1afdcf2fd78d9d14dc1403f12d6d87d3bec0c418727c4df99c9131492719d6cbcd3779fe03feef6d4ec
7
- data.tar.gz: f87634944a373b41dc12e4527dad78e894a5ffd65444d3bf0fa02b15a5e10a711e084e2c486f5e371ddd7fcdafe41a4bc3c2378036bebf17db47215c308ad37c
6
+ metadata.gz: 09a5838c1210ecab5b7617a42b636d7b99cefb127f69ec30116a3fefe0c1fe32ab67c68acff83216e24ac9c99c60473785d3af1cf848a594d6ab35751ac82eb7
7
+ data.tar.gz: 6970c48e715430f9229ce854969edc72c24b1eafa8266e4b2b6ef0ace6335ff4955fb7daeb9de7d19a3f9f5627f4b12b21d61996368afb8c75dd91fb46d252d2
@@ -1,5 +1,7 @@
1
+ before_install:
2
+ - gem install bundler
3
+ bundler: cache
1
4
  language: ruby
2
5
  rvm:
3
6
  - "2.1"
4
7
  - "2.2"
5
- - "2.3"
data/Gemfile CHANGED
@@ -2,7 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :development, :test do
6
- gem 'minitest'
7
- gem 'coveralls', :require => false
8
- end
5
+ gem 'coveralls', require: false
data/Rakefile CHANGED
@@ -1,5 +1,4 @@
1
1
  require "bundler/gem_tasks"
2
- Bundler::GemHelper.install_tasks
3
2
 
4
3
  require 'rake/testtask'
5
4
 
@@ -64,32 +64,32 @@ module Perfecta
64
64
  get_one 'site', id
65
65
  end
66
66
 
67
- def campaigns
68
- get_many 'campaigns'
67
+ def campaigns params = {}
68
+ get_many 'campaigns', params
69
69
  end
70
70
 
71
71
  def campaign id
72
72
  get_one 'campaign', id
73
73
  end
74
74
 
75
- def ads
76
- get_many 'ads'
75
+ def ads params = {}
76
+ get_many 'ads', params
77
77
  end
78
78
 
79
79
  def ad id
80
80
  get_one 'ad', id
81
81
  end
82
82
 
83
- def conversions
84
- get_many 'conversions'
83
+ def conversions params = {}
84
+ get_many 'conversions', params
85
85
  end
86
86
 
87
87
  def conversion id
88
88
  get_one 'conversion', id
89
89
  end
90
90
 
91
- def segments
92
- get_many 'segments'
91
+ def segments params = {}
92
+ get_many 'segments', params
93
93
  end
94
94
 
95
95
  def segment id
@@ -104,7 +104,7 @@ module Perfecta
104
104
 
105
105
  def authenticate
106
106
  url = "#{BASE_API_PATH}/auth"
107
- data = {:email => @email, :password => @password}
107
+ data = {email: @email, password: @password}
108
108
 
109
109
  resp = RestClient.post(url, data)
110
110
 
@@ -126,7 +126,7 @@ module Perfecta
126
126
  def get_one type, id
127
127
  url = "#{BASE_API_PATH}/#{type.pluralize}/#{id}"
128
128
 
129
- resp = make_request url, "Authorization".to_sym => @token
129
+ resp = make_request url, Authorization: @token
130
130
 
131
131
  klass_name = type.capitalize
132
132
  klass = Perfecta.const_get(klass_name.to_sym)
@@ -136,10 +136,14 @@ module Perfecta
136
136
  obj
137
137
  end
138
138
 
139
- def get_many type
139
+ def get_many type, params = {}
140
140
  url = "#{BASE_API_PATH}/#{type}"
141
141
 
142
- resp = make_request url, "Authorization".to_sym => @token
142
+ params.delete_if {|p| ![:site_id].include? p}
143
+
144
+ params = {params: params}.merge! Authorization: @token
145
+
146
+ resp = make_request url, params
143
147
 
144
148
  klass_name = type.capitalize.singularize
145
149
  klass = Perfecta.const_get(klass_name.to_sym)
@@ -152,9 +156,9 @@ module Perfecta
152
156
  def build_report_url_and_params_for type, params
153
157
  url = "#{BASE_API_PATH}/reports/#{type}_report"
154
158
 
155
- params.delete_if {|p| !ALLOWED_REPORT_PARAMS.include? p}
159
+ params.keep_if {|p| ALLOWED_REPORT_PARAMS.include? p}
156
160
 
157
- params = {:params => params}.merge! "Authorization".to_sym => @token
161
+ params = {params: params}.merge! Authorization: @token
158
162
 
159
163
  [url, params]
160
164
  end
@@ -1,18 +1,12 @@
1
1
  module Perfecta
2
2
  class ApiResource
3
-
4
- def meta_class
5
- class << self; self end
6
- end
7
-
8
3
  def initialize attrs
9
4
  attrs.each do |name, val|
10
5
  instance_variable_set "@#{name}", val
11
6
 
12
- meta_class.send(:define_method, name) do
7
+ define_singleton_method name.to_sym do
13
8
  instance_variable_get "@#{name}"
14
9
  end
15
-
16
10
  end
17
11
  end
18
12
  end
@@ -1,3 +1,3 @@
1
1
  module Perfecta
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -17,10 +17,10 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency "mime-types", "~> 1.25.1"
20
+ gem.add_dependency "mime-types", ">= 1.25.1"
21
21
  gem.add_dependency "rest-client"
22
- gem.add_dependency "activesupport", "~> 3"
23
- gem.add_dependency "rake", "~> 0.9.2"
22
+ gem.add_dependency "activesupport", ">= 3"
23
+ gem.add_dependency "rake", ">= 0.9.2"
24
24
  gem.add_dependency "json"
25
25
  gem.add_development_dependency "mocha"
26
26
  end
@@ -1,11 +1,11 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class AdReportTest < Minitest::Test
3
+ class AdReportTest < MiniTest::Test
4
4
 
5
5
  describe 'AdReport' do
6
6
 
7
7
  before do
8
- @attrs = {:ad_name => 'Ad 1', :ad_id => 123}
8
+ @attrs = {ad_name: 'Ad 1', ad_id: 123}
9
9
  @report = Perfecta::AdReport.new @attrs
10
10
  end
11
11
 
@@ -1,11 +1,11 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class CampaignReportTest < Minitest::Test
3
+ class CampaignReportTest < MiniTest::Test
4
4
 
5
5
  describe 'CampaignReport' do
6
6
 
7
7
  before do
8
- @attrs = {:name => 'Report 1', :campaign_id => 123}
8
+ @attrs = {name: 'Report 1', campaign_id: 123}
9
9
  @report = Perfecta::CampaignReport.new @attrs
10
10
  end
11
11
 
@@ -1,11 +1,11 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class CampaignTest < Minitest::Test
3
+ class CampaignTest < MiniTest::Test
4
4
 
5
5
  describe 'Campaign' do
6
6
 
7
7
  before do
8
- @attrs = {:name => 'Campaign 1'}
8
+ @attrs = {name: 'Campaign 1'}
9
9
  @report = Perfecta::Campaign.new @attrs
10
10
  end
11
11
 
@@ -1,11 +1,11 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class ConversionReportTest < Minitest::Test
3
+ class ConversionReportTest < MiniTest::Test
4
4
 
5
5
  describe 'ConversionReport' do
6
6
 
7
7
  before do
8
- @attrs = {:conversion_name => 'Conversion 1', :conversion_id => 123}
8
+ @attrs = {conversion_name: 'Conversion 1', conversion_id: 123}
9
9
  @report = Perfecta::ConversionReport.new @attrs
10
10
  end
11
11
 
@@ -1,11 +1,14 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class PerfectaTest < Minitest::Test
3
+ class PerfectaTest < MiniTest::Test
4
4
 
5
5
  describe 'Perfecta client' do
6
6
 
7
7
  before do
8
- Perfecta::Client.any_instance.stubs(:exchange_credentials_for_token).returns('token')
8
+ Perfecta::Client
9
+ .any_instance
10
+ .stubs(:exchange_credentials_for_token)
11
+ .returns('token')
9
12
 
10
13
  @client = Perfecta::Client.new do |c|
11
14
  c.email = 'email@ddress'
@@ -1,11 +1,11 @@
1
- require './test/test_helper.rb'
1
+ require_relative 'test_helper'
2
2
 
3
- class SiteTest < Minitest::Test
3
+ class SiteTest < MiniTest::Test
4
4
 
5
5
  describe 'Site' do
6
6
 
7
7
  before do
8
- @attrs = {:name => 'Site 1'}
8
+ @attrs = {name: 'Site 1'}
9
9
  @report = Perfecta::Site.new @attrs
10
10
  end
11
11
 
@@ -1,8 +1,7 @@
1
1
  $:.unshift(File.join(File.dirname(__FILE__),'..','lib'))
2
2
 
3
- require 'rubygems'
4
- require 'minitest/autorun'
5
3
  require 'minitest/spec'
4
+ require 'minitest/autorun'
6
5
  require 'mocha/setup'
7
6
  require 'perfecta'
8
7
 
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perfecta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary Rafferty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-17 00:00:00.000000000 Z
11
+ date: 2016-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mime-types
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.25.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.25.1
27
27
  - !ruby/object:Gem::Dependency
@@ -42,28 +42,28 @@ dependencies:
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.9.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.9.2
69
69
  - !ruby/object:Gem::Dependency