epom_rails 0.4.5 → 0.4.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a66eca78be2769027bf296cf2036800e76bac79a
4
- data.tar.gz: e07c2bcbdd6b7196f01ffe044af39beb9fa82dd9
3
+ metadata.gz: 881de5d92f0a20370cdb8d5f59af872d2c0db131
4
+ data.tar.gz: 6e06828f0a38e0f12a4a43818eb6b3af99eb2043
5
5
  SHA512:
6
- metadata.gz: bffbbdd24cc8d264181757966b955e118edf315c45c25649d01d68b924d64527130fc87f397da82a4719e34602ff2d2ea06077e4309e9b061125e96b14a1c412
7
- data.tar.gz: 4a3bcfcd2f4fea8568acc422486d2f252028bb182db5d54bb2f8b4099d535639e0bd3662d26a8e9ea78eddee3954ed1030c7ae60f7344c3c8372496f58f9f867
6
+ metadata.gz: 1ffd073e01ea28bfbf262c81a28a59d8dc3ac833228a05a6f7d27659719850a6546f3af881904b5ec73ad2b56ddec3cbe60d489e5c7f7009a2ea6d95f7018f37
7
+ data.tar.gz: 3a12c1c79cf720461179c74eb8ba58113a1df28c5f21155b52e69aefda6ee7123210122bc7b80f3fddd48cea860c3d047a9da8a7a759352381e6a2a627b8d758
@@ -37,45 +37,49 @@ class ActiveRecord::Base
37
37
  end
38
38
 
39
39
  def self.define_before_save
40
- klass = self.epom_klass
41
- fields = self.epom_fields
42
- before_save do
43
- klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
40
+ unless EpomRails.config.offline
41
+ klass = self.epom_klass
42
+ fields = self.epom_fields
43
+ before_save do
44
+ klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
44
45
 
45
- method = if self.send fields.key('id') then "update_#{klass_name.downcase}" else "create_#{klass_name.downcase}" end
46
-
47
- url_params = {}
48
- if klass.extended_methods[method.to_sym][:url_parameters]
49
- klass.extended_methods[method.to_sym][:url_parameters].each do |parameter|
50
- url_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
46
+ method = if self.send fields.key('id') then "update_#{klass_name.downcase}" else "create_#{klass_name.downcase}" end
47
+
48
+ url_params = {}
49
+ if klass.extended_methods[method.to_sym][:url_parameters]
50
+ klass.extended_methods[method.to_sym][:url_parameters].each do |parameter|
51
+ url_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
52
+ end
51
53
  end
52
- end
53
54
 
54
- body_params = {}
55
- if klass.extended_methods[method.to_sym][:body_parameters]
56
- klass.extended_methods[method.to_sym][:body_parameters].each do |parameter|
57
- body_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
55
+ body_params = {}
56
+ if klass.extended_methods[method.to_sym][:body_parameters]
57
+ klass.extended_methods[method.to_sym][:body_parameters].each do |parameter|
58
+ body_params[parameter] = self.send(fields.key(parameter.to_s)) if fields.key(parameter.to_s)
59
+ end
58
60
  end
59
- end
60
-
61
- epom_response = klass.send method, url_params, body_params
62
-
63
- unless self.send fields.key('id')
64
- # save id value returned from Epom in an Advertiser column
65
- self.send "#{fields.key('id')}=", epom_response['id']
66
- end
67
- epom_response['success']
68
- end
61
+
62
+ epom_response = klass.send method, url_params, body_params
63
+
64
+ unless self.send fields.key('id')
65
+ # save id value returned from Epom in an Advertiser column
66
+ self.send "#{fields.key('id')}=", epom_response['id']
67
+ end
68
+ epom_response['success']
69
+ end
70
+ end
69
71
  end
70
72
 
71
73
  def self.define_before_destroy
72
- klass = self.epom_klass
73
- fields = self.epom_fields
74
- before_destroy do
75
- if self.send fields.key('id')
76
- klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
77
- epom_response = klass.send "delete_#{klass_name.downcase}", {"#{klass_name.downcase}Id" => self.send(fields.key('id'))}, {}
78
- epom_response['success'] if epom_response
74
+ unless EpomRails.config.offline
75
+ klass = self.epom_klass
76
+ fields = self.epom_fields
77
+ before_destroy do
78
+ if self.send fields.key('id')
79
+ klass_name = klass.name.include?('::') ? klass.name.split('::').last : klass.name
80
+ epom_response = klass.send "delete_#{klass_name.downcase}", {"#{klass_name.downcase}Id" => self.send(fields.key('id'))}, {}
81
+ epom_response['success'] if epom_response
82
+ end
79
83
  end
80
84
  end
81
85
  end
@@ -0,0 +1,36 @@
1
+ require 'active_support/configurable'
2
+
3
+ module EpomRails
4
+ # Configures global settings for EpomRails
5
+ # EpomRails.configure do |config|
6
+ # config.offline = false
7
+ # end
8
+ def self.configure(&block)
9
+ yield @config ||= EpomRails::Configuration.new
10
+ end
11
+
12
+ # Global settings for EpomRails
13
+ def self.config
14
+ @config
15
+ end
16
+
17
+ # need a Class for 3.0
18
+ class Configuration #:nodoc:
19
+ include ActiveSupport::Configurable
20
+ config_accessor :offline
21
+
22
+ def param_name
23
+ config.param_name.respond_to?(:call) ? config.param_name.call : config.param_name
24
+ end
25
+
26
+ # define param_name writer (copied from AS::Configurable)
27
+ writer, line = 'def param_name=(value); config.param_name = value; end', __LINE__
28
+ singleton_class.class_eval writer, __FILE__, line
29
+ class_eval writer, __FILE__, line
30
+ end
31
+
32
+ # this is ugly. why can't we pass the default value to config_accessor...?
33
+ EpomRails.configure do |config|
34
+ config.offline = false
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module EpomRails
2
- VERSION = "0.4.5"
2
+ VERSION = "0.4.6"
3
3
  end
data/lib/epom_rails.rb CHANGED
@@ -1,13 +1,15 @@
1
1
  require 'epom'
2
2
  require 'epom_rails/acts_as'
3
3
 
4
+ require 'epom_rails/config'
5
+
4
6
  module EpomRails
5
7
  attr_accessor :epom_klass, :epom_fields
6
8
 
7
9
  Epom::EpomElement.login(ENV['username'], ENV['password'])
8
10
 
9
11
  def method_missing(method_name, *args)
10
- if epom_klass.respond_to?(method_name)
12
+ if not EpomRails.config.offline and epom_klass.respond_to?(method_name)
11
13
  epom_klass.send(method_name, args[0], args[1])
12
14
  else
13
15
  super
File without changes
@@ -0,0 +1,16 @@
1
+ module EpomRails
2
+ class ConfigGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('../templates', __FILE__)
4
+
5
+ def copy_epom_rails_file
6
+ template 'epom_rails.rb', 'config/initializers/epom_rails.rb'
7
+ if File.exist?('.gitignore')
8
+ inject_into_file '.gitignore', after: "/.bundle" do "\nconfig/initializers/epom_rails.rb" end
9
+ end
10
+ end
11
+
12
+ def epom_generator
13
+ generate 'epom:config'
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ EpomRails.configure do |config|
2
+ config.offline = false
3
+ end
@@ -10,7 +10,8 @@ class ActsAsAdvertiserTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an advertiser' do
13
- advertiser = advertisers(:one)
13
+ unless EpomRails.config.offline
14
+ advertiser = advertisers(:one)
14
15
 
15
16
  assert advertiser.save
16
17
  assert_instance_of Fixnum, advertiser.send(epom_field('id'))
@@ -29,36 +30,41 @@ class ActsAsAdvertiserTest < ActiveSupport::TestCase
29
30
  epom_advertiser = epom_response.find{|a| a['id'] == advertiser.send(epom_field('id'))}
30
31
  assert_equal advertiser.send(epom_field('name')), epom_advertiser['name']
31
32
  assert_equal "Is Owner", epom_advertiser['shareType']
33
+ end
32
34
  end
33
35
 
34
36
  test 'delete an advertiser' do
35
- advertiser = advertisers(:one)
37
+ unless EpomRails.config.offline
38
+ advertiser = advertisers(:one)
36
39
 
37
40
  assert advertiser.save
38
41
  assert_instance_of Fixnum, advertiser.send(epom_field('id'))
39
42
 
40
43
  epom_id = advertiser.send(epom_field('id'))
41
44
  assert advertiser.destroy
45
+ end
42
46
  end
43
47
 
44
48
  test 'epom methods' do
45
- response = Advertiser.get_advertisers_tree({}, {})
49
+ unless EpomRails.config.offline
50
+ response = Advertiser.get_advertisers_tree({}, {})
46
51
 
47
- assert_instance_of Array, response
48
- if response.count > 0
49
- first = response[0]
50
- assert_instance_of Fixnum, first['id']
51
- assert_instance_of Array, first['category']
52
- assert_instance_of String, first['name']
53
- assert_instance_of Array, first['campaigns']
54
-
55
- advertiser = first
56
- response = Advertiser.get_campaigns_for_advertiser({:advertiserId => advertiser['id']}, {})
57
52
  assert_instance_of Array, response
58
53
  if response.count > 0
59
54
  first = response[0]
60
55
  assert_instance_of Fixnum, first['id']
56
+ assert_instance_of Array, first['category']
61
57
  assert_instance_of String, first['name']
58
+ assert_instance_of Array, first['campaigns']
59
+
60
+ advertiser = first
61
+ response = Advertiser.get_campaigns_for_advertiser({:advertiserId => advertiser['id']}, {})
62
+ assert_instance_of Array, response
63
+ if response.count > 0
64
+ first = response[0]
65
+ assert_instance_of Fixnum, first['id']
66
+ assert_instance_of String, first['name']
67
+ end
62
68
  end
63
69
  end
64
70
  end
@@ -10,33 +10,39 @@ class ActsAsBannerTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an banner' do
13
- banner = banners(:one)
13
+ unless EpomRails.config.offline
14
+ banner = banners(:one)
14
15
 
15
16
  assert banner.save
16
17
  assert_instance_of Fixnum, banner.send(epom_field('id'))
18
+ end
17
19
  end
18
20
 
19
21
  test 'delete an banner' do
20
- banner = banners(:one)
22
+ unless EpomRails.config.offline
23
+ banner = banners(:one)
21
24
 
22
25
  assert banner.save
23
26
  assert_instance_of Fixnum, banner.send(epom_field('id'))
24
27
 
25
28
  epom_id = banner.send(epom_field('id'))
26
29
  assert banner.destroy
30
+ end
27
31
  end
28
32
 
29
33
  test 'epom methods' do
30
- banner = banners(:one)
34
+ unless EpomRails.config.offline
35
+ banner = banners(:one)
31
36
 
32
37
  assert banner.save
33
38
  assert_instance_of Fixnum, banner.send(epom_field('id'))
34
39
 
35
- response = Banner.get_banner({:bannerId => banner.send(epom_field('id'))}, {})
36
- assert_equal banner.campaign_id, response['campaignId']
37
- assert_equal banner.weight, response['weight']
38
- assert_equal banner.url, response['url']
39
- assert_equal banner.name, response['name']
40
- assert_equal banner.image_banner_link, response['imageBannerLink']
40
+ response = Banner.get_banner({:bannerId => banner.send(epom_field('id'))}, {})
41
+ assert_equal banner.campaign_id, response['campaignId']
42
+ assert_equal banner.weight, response['weight']
43
+ assert_equal banner.url, response['url']
44
+ assert_equal banner.name, response['name']
45
+ assert_equal banner.image_banner_link, response['imageBannerLink']
46
+ end
41
47
  end
42
48
  end
@@ -10,31 +10,36 @@ class ActsAsCampaignTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an campaign' do
13
- campaign = campaigns(:one)
13
+ unless EpomRails.config.offline
14
+ campaign = campaigns(:one)
14
15
 
15
16
  assert campaign.save
16
17
  assert_instance_of Fixnum, campaign.send(epom_field('id'))
18
+ end
17
19
  end
18
20
 
19
21
  test 'delete an campaign' do
20
- campaign = campaigns(:one)
22
+ unless EpomRails.config.offline
23
+ campaign = campaigns(:one)
21
24
 
22
25
  assert campaign.save
23
26
  assert_instance_of Fixnum, campaign.send(epom_field('id'))
24
27
 
25
28
  epom_id = campaign.send(epom_field('id'))
26
29
  assert campaign.destroy
30
+ end
27
31
  end
28
32
 
29
33
  test 'epom methods' do
30
- campaign = campaigns(:one)
34
+ unless EpomRails.config.offline
35
+ campaign = campaigns(:one)
31
36
 
32
- assert campaign.save
33
- assert_instance_of Fixnum, campaign.send(epom_field('id'))
37
+ assert campaign.save
38
+ assert_instance_of Fixnum, campaign.send(epom_field('id'))
34
39
 
35
- response = Campaign.get_campaign({:campaignId => campaign.send(epom_field('id'))}, {})
36
- assert_equal campaign.send(epom_field('id')), response['id']
37
- assert_equal campaign.send(epom_field('name')), response['name']
38
-
40
+ response = Campaign.get_campaign({:campaignId => campaign.send(epom_field('id'))}, {})
41
+ assert_equal campaign.send(epom_field('id')), response['id']
42
+ assert_equal campaign.send(epom_field('name')), response['name']
43
+ end
39
44
  end
40
45
  end
@@ -10,7 +10,8 @@ class ActsAsPlacementTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an placement' do
13
- placement = placements(:one)
13
+ unless EpomRails.config.offline
14
+ placement = placements(:one)
14
15
 
15
16
  assert placement.save
16
17
  assert_instance_of Fixnum, placement.send(epom_field('id'))
@@ -27,25 +28,30 @@ class ActsAsPlacementTest < ActiveSupport::TestCase
27
28
  assert_instance_of Array, epom_response
28
29
  epom_placement = epom_response.find{|a| a['id'] == placement.send(epom_field('id'))}
29
30
  assert_equal placement.send(epom_field('name')), epom_placement['name']
31
+ end
30
32
  end
31
33
 
32
34
  test 'delete an placement' do
33
- placement = placements(:one)
35
+ unless EpomRails.config.offline
36
+ placement = placements(:one)
34
37
 
35
38
  assert placement.save
36
39
  assert_instance_of Fixnum, placement.send(epom_field('id'))
37
40
 
38
41
  epom_id = placement.send(epom_field('id'))
39
42
  assert placement.destroy
43
+ end
40
44
  end
41
45
 
42
46
  test 'epom methods' do
43
- placement = placements(:one)
47
+ unless EpomRails.config.offline
48
+ placement = placements(:one)
44
49
 
45
50
  assert placement.save
46
51
  assert_instance_of Fixnum, placement.send(epom_field('id'))
47
52
 
48
- epom_response = Epom::Placement.get_placement_summary({}, {:placementIds => placement.send(epom_field('id'))})
53
+ epom_response = Epom::Placement.get_placement_summary({}, {:placementIds => placement.send(epom_field('id'))})
49
54
  assert_instance_of Array, epom_response
55
+ end
50
56
  end
51
57
  end
@@ -10,7 +10,8 @@ class ActsAsSiteTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an site' do
13
- site = sites(:one)
13
+ unless EpomRails.config.offline
14
+ site = sites(:one)
14
15
 
15
16
  assert site.save
16
17
  assert_instance_of Fixnum, site.send(epom_field('id'))
@@ -27,25 +28,30 @@ class ActsAsSiteTest < ActiveSupport::TestCase
27
28
  assert_instance_of Array, epom_response
28
29
  epom_site = epom_response.find{|a| a['id'] == site.send(epom_field('id'))}
29
30
  assert_equal site.send(epom_field('name')), epom_site['name']
31
+ end
30
32
  end
31
33
 
32
34
  test 'delete an site' do
33
- site = sites(:one)
35
+ unless EpomRails.config.offline
36
+ site = sites(:one)
34
37
 
35
38
  assert site.save
36
39
  assert_instance_of Fixnum, site.send(epom_field('id'))
37
40
 
38
41
  epom_id = site.send(epom_field('id'))
39
42
  assert site.destroy
43
+ end
40
44
  end
41
45
 
42
46
  test 'epom methods' do
43
- site = sites(:one)
47
+ unless EpomRails.config.offline
48
+ site = sites(:one)
44
49
 
45
- assert site.save
46
- assert_instance_of Fixnum, site.send(epom_field('id'))
50
+ assert site.save
51
+ assert_instance_of Fixnum, site.send(epom_field('id'))
47
52
 
48
- response = Site.get_sites_zones({:siteId => site.send(epom_field('id'))}, {})
49
- assert_instance_of Array, response
53
+ response = Site.get_sites_zones({:siteId => site.send(epom_field('id'))}, {})
54
+ assert_instance_of Array, response
55
+ end
50
56
  end
51
57
  end
@@ -10,32 +10,38 @@ class ActsAsZoneTest < ActiveSupport::TestCase
10
10
  end
11
11
 
12
12
  test 'save an zone' do
13
- zone = zones(:one)
13
+ unless EpomRails.config.offline
14
+ zone = zones(:one)
14
15
 
15
16
  assert zone.save
16
17
  assert_instance_of Fixnum, zone.send(epom_field('id'))
17
18
 
18
19
  # testing update_zone
19
20
  assert zone.update name: 'otro string'
21
+ end
20
22
  end
21
23
 
22
24
  test 'delete an zone' do
23
- zone = zones(:one)
25
+ unless EpomRails.config.offline
26
+ zone = zones(:one)
24
27
 
25
28
  assert zone.save
26
29
  assert_instance_of Fixnum, zone.send(epom_field('id'))
27
30
 
28
31
  epom_id = zone.send(epom_field('id'))
29
32
  assert zone.destroy
33
+ end
30
34
  end
31
35
 
32
36
  test 'epom methods' do
33
- zone = zones(:one)
37
+ unless EpomRails.config.offline
38
+ zone = zones(:one)
34
39
 
35
40
  assert zone.save
36
41
  assert_instance_of Fixnum, zone.send(epom_field('id'))
37
42
 
38
- response = Zone.get_zone_placements({:zoneId => zone.send(epom_field('id'))}, {})
39
- assert_instance_of Array, response
43
+ response = Zone.get_zone_placements({:zoneId => zone.send(epom_field('id'))}, {})
44
+ assert_instance_of Array, response
45
+ end
40
46
  end
41
47
  end
data/test/test_helper.rb CHANGED
@@ -33,4 +33,8 @@ Epom.configure do |config|
33
33
  config.proxy_port = ENV['proxy_port']
34
34
  config.proxy_user = ENV['proxy_user']
35
35
  config.proxy_password = ENV['proxy_password']
36
+ end
37
+
38
+ EpomRails.configure do |config|
39
+ config.offline = false
36
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epom_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Chang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-30 00:00:00.000000000 Z
11
+ date: 2015-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -64,7 +64,11 @@ files:
64
64
  - Rakefile
65
65
  - lib/epom_rails.rb
66
66
  - lib/epom_rails/acts_as.rb
67
+ - lib/epom_rails/config.rb
67
68
  - lib/epom_rails/version.rb
69
+ - lib/generators/epom_rails/config/USAGE
70
+ - lib/generators/epom_rails/config/config_generator.rb
71
+ - lib/generators/epom_rails/config/templates/epom_rails.rb
68
72
  - lib/tasks/epom_rails_tasks.rake
69
73
  - test/dummy/README.rdoc
70
74
  - test/dummy/Rakefile