francois-ad_gear_client 0.3.1 → 0.3.4
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/Rakefile +7 -5
- data/VERSION +1 -1
- data/ad_gear_client.gemspec +4 -4
- data/lib/ad_gear/ad_spot.rb +1 -0
- data/lib/ad_gear/ad_spot_membership.rb +5 -0
- data/lib/ad_gear/ad_unit_click.rb +1 -0
- data/lib/ad_gear/ad_unit_file.rb +1 -0
- data/lib/ad_gear/ad_unit_interaction.rb +1 -0
- data/lib/ad_gear/ad_unit_variable.rb +1 -0
- data/lib/ad_gear/config.rb +9 -5
- data/lib/ad_gear/upload.rb +1 -1
- data/lib/ad_gear.rb +1 -0
- data/test/ad_gear/config_test.rb +11 -0
- metadata +3 -3
- data/.document +0 -1
data/Rakefile
CHANGED
@@ -6,13 +6,15 @@ require 'rake'
|
|
6
6
|
begin
|
7
7
|
require 'jeweler'
|
8
8
|
Jeweler::Tasks.new do |gem|
|
9
|
-
gem.name
|
10
|
-
gem.summary
|
11
|
-
gem.email
|
12
|
-
gem.homepage
|
13
|
-
gem.authors
|
9
|
+
gem.name = "ad_gear_client"
|
10
|
+
gem.summary = %Q{A Ruby client for accessing AdGear http://bloomdigital.com/}
|
11
|
+
gem.email = "francois@teksol.info"
|
12
|
+
gem.homepage = "http://github.com/francois/ad_gear_client"
|
13
|
+
gem.authors = ["François Beausoleil"]
|
14
14
|
gem.rubyforge_project = "ad_gear_client"
|
15
15
|
|
16
|
+
gem.files.exclude ".document"
|
17
|
+
|
16
18
|
gem.add_development_dependency "lsegal-yard", ">= 0.2.3"
|
17
19
|
gem.add_development_dependency "mocha", ">= 0.9.5"
|
18
20
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.4
|
data/ad_gear_client.gemspec
CHANGED
@@ -2,19 +2,18 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ad_gear_client}
|
5
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Fran\303\247ois Beausoleil"]
|
9
|
-
s.date = %q{2009-09-
|
9
|
+
s.date = %q{2009-09-23}
|
10
10
|
s.email = %q{francois@teksol.info}
|
11
11
|
s.extra_rdoc_files = [
|
12
12
|
"LICENSE",
|
13
13
|
"README.rdoc"
|
14
14
|
]
|
15
15
|
s.files = [
|
16
|
-
".
|
17
|
-
".gitignore",
|
16
|
+
".gitignore",
|
18
17
|
"LICENSE",
|
19
18
|
"README.rdoc",
|
20
19
|
"Rakefile",
|
@@ -28,6 +27,7 @@ Gem::Specification.new do |s|
|
|
28
27
|
"examples/upload_file_to_ad_unit.rb",
|
29
28
|
"lib/ad_gear.rb",
|
30
29
|
"lib/ad_gear/ad_spot.rb",
|
30
|
+
"lib/ad_gear/ad_spot_membership.rb",
|
31
31
|
"lib/ad_gear/ad_unit.rb",
|
32
32
|
"lib/ad_gear/ad_unit_click.rb",
|
33
33
|
"lib/ad_gear/ad_unit_file.rb",
|
data/lib/ad_gear/ad_spot.rb
CHANGED
data/lib/ad_gear/ad_unit_file.rb
CHANGED
data/lib/ad_gear/config.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require "erb"
|
2
|
+
require "pathname"
|
3
|
+
|
1
4
|
module AdGear
|
2
5
|
class Config
|
3
6
|
# Raised when the specified environment could not be found in the YAML configuration file.
|
@@ -13,12 +16,12 @@ module AdGear
|
|
13
16
|
# site: http://localhost:3000/api
|
14
17
|
# user: dummy
|
15
18
|
# password: whatever
|
16
|
-
# logger: path/to/log/file.log
|
19
|
+
# logger: <%= Rails.root %>/path/to/log/file.log
|
17
20
|
# production:
|
18
21
|
# site: http://admin.adgear.com/api
|
19
22
|
# user: your_real_login
|
20
23
|
# password: your_real_digest_password
|
21
|
-
# logger:
|
24
|
+
# logger: /var/log/ad_gear.log
|
22
25
|
#
|
23
26
|
# @example Reading this sample file:
|
24
27
|
# AdGear.config = AdGear::Config.new("path/to/config/file", "development")
|
@@ -36,16 +39,16 @@ module AdGear
|
|
36
39
|
# be raised.
|
37
40
|
#
|
38
41
|
# @raise MissingEnvironmentSpecification When the +environment+ parameter specifies a missing environment declaration.
|
39
|
-
def initialize(obj, environment=nil)
|
42
|
+
def initialize(obj={}, environment=nil)
|
40
43
|
@config = Hash.new
|
41
44
|
@logger = nil
|
42
45
|
|
43
46
|
config = if obj.kind_of?(Hash) then
|
44
47
|
obj
|
45
48
|
elsif obj.respond_to?(:read) then
|
46
|
-
YAML.load(obj.read)
|
49
|
+
YAML.load(ERB.new(obj.read).result)
|
47
50
|
else
|
48
|
-
YAML.load_file(obj)
|
51
|
+
YAML.load_file(ERB.new(obj).result)
|
49
52
|
end
|
50
53
|
if environment then
|
51
54
|
raise MissingEnvironmentSpecification, "Could not find #{environment.to_s.inspect} in #{config.inspect} read from #{obj.inspect}. Add the missing environment declaration, or change the parameter to this method." unless config.respond_to?(:has_key?) && config.has_key?(environment.to_s)
|
@@ -131,6 +134,7 @@ module AdGear
|
|
131
134
|
# Existing stream
|
132
135
|
Logger.new(Object.const_get(value.upcase))
|
133
136
|
else
|
137
|
+
warn("WARNING: path to logger in AdGear::Client configuration is relative: CWD is #{Dir.pwd.inspect}") unless Pathname.new(value).absolute?
|
134
138
|
# Path to a file
|
135
139
|
Logger.new(value)
|
136
140
|
end
|
data/lib/ad_gear/upload.rb
CHANGED
@@ -2,7 +2,7 @@ begin
|
|
2
2
|
gem "francois-rest-client", ">= 1.1.5"
|
3
3
|
rescue
|
4
4
|
# Ignored. We hope we got what we wanted
|
5
|
-
warn "Could not ensure francois-rest-client 1.1.5 is loaded. If you have problems uploading files, make sure you have that gem
|
5
|
+
warn "Could not ensure francois-rest-client 1.1.5 is loaded. If you have problems uploading files, make sure you have that gem installed and that the AdGear::Client uses that version."
|
6
6
|
end
|
7
7
|
require "restclient"
|
8
8
|
|
data/lib/ad_gear.rb
CHANGED
@@ -35,6 +35,7 @@ module AdGear
|
|
35
35
|
# AdGear models themselves
|
36
36
|
autoload :Site, "ad_gear/site"
|
37
37
|
autoload :AdSpot, "ad_gear/ad_spot"
|
38
|
+
autoload :AdSpotMembership, "ad_gear/ad_spot_membership"
|
38
39
|
autoload :WebCampaign, "ad_gear/web_campaign"
|
39
40
|
autoload :Format, "ad_gear/format"
|
40
41
|
autoload :Upload, "ad_gear/upload"
|
data/test/ad_gear/config_test.rb
CHANGED
@@ -62,6 +62,17 @@ class AdGear::ConfigTest < Test::Unit::TestCase
|
|
62
62
|
AdGear::Config.new(StringIO.new({"logger" => "log/adgear.log"}.to_yaml))
|
63
63
|
end
|
64
64
|
|
65
|
+
should "pass the config file through ERB before using the values" do
|
66
|
+
conf = AdGear::Config.new(StringIO.new({"user" => "<%= :whoami %>"}.to_yaml))
|
67
|
+
assert_equal "whoami", conf.user
|
68
|
+
end
|
69
|
+
|
70
|
+
should "warn when the path to the logger is relative" do
|
71
|
+
config = AdGear::Config.new
|
72
|
+
config.expects(:warn)
|
73
|
+
config.logger = "development.log"
|
74
|
+
end
|
75
|
+
|
65
76
|
context "Given a configured AdGear::Config" do
|
66
77
|
setup do
|
67
78
|
conf = {"site" => "http://whatever.com/", "user" => "francois", "password" => "many", "use_basic_authentication" => false, "use_digest_authentication" => true}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: francois-ad_gear_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Fran\xC3\xA7ois Beausoleil"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-09-
|
12
|
+
date: 2009-09-23 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -62,7 +62,6 @@ extra_rdoc_files:
|
|
62
62
|
- LICENSE
|
63
63
|
- README.rdoc
|
64
64
|
files:
|
65
|
-
- .document
|
66
65
|
- .gitignore
|
67
66
|
- LICENSE
|
68
67
|
- README.rdoc
|
@@ -77,6 +76,7 @@ files:
|
|
77
76
|
- examples/upload_file_to_ad_unit.rb
|
78
77
|
- lib/ad_gear.rb
|
79
78
|
- lib/ad_gear/ad_spot.rb
|
79
|
+
- lib/ad_gear/ad_spot_membership.rb
|
80
80
|
- lib/ad_gear/ad_unit.rb
|
81
81
|
- lib/ad_gear/ad_unit_click.rb
|
82
82
|
- lib/ad_gear/ad_unit_file.rb
|
data/.document
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
lib/**/*.rb
|