simple-piwik 0.5.1 → 0.5.2

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
data/lib/piwik/base.rb CHANGED
@@ -10,6 +10,13 @@ module Piwik
10
10
  class UnknownSite < ArgumentError; end
11
11
  class UnknownUser < ArgumentError; end
12
12
 
13
+ mattr_accessor :piwik_url
14
+ mattr_accessor :auth_token
15
+
16
+ def self.is_configured?
17
+ @@piwik_url!=nil && @@auth_token!=nil
18
+ end
19
+
13
20
  class Base
14
21
  @@template = <<-EOF
15
22
  # .piwik
@@ -76,18 +83,25 @@ EOF
76
83
  end
77
84
 
78
85
  # Checks for the config, creates it if not found
79
- def self.load_config_from_file
86
+ def self.load_config
80
87
  config = {}
81
- config_file = self.config_file
82
- if config_file
83
- temp_config = if File.exists?(config_file)
84
- YAML::load(open(config_file))
85
- else
86
- open(config_file,'w') { |f| f.puts @@template }
87
- YAML::load(@@template)
88
+ if Piwik.is_configured?
89
+ config = { :piwik_url => Piwik.piwik_url, :auth_token => Piwik.auth_token }
90
+ else
91
+ config_file = self.config_file
92
+ if config_file
93
+ temp_config = if File.exists?(config_file)
94
+ YAML::load(open(config_file))
95
+ else
96
+ open(config_file,'w') { |f| f.puts @@template }
97
+ YAML::load(@@template)
98
+ end
99
+ temp_config.each { |k,v| config[k.to_sym] = v } if temp_config
88
100
  end
89
- temp_config.each { |k,v| config[k.to_sym] = v } if temp_config
90
101
  raise MissingConfiguration, "Please edit #{config_file} to include piwik url and auth_key" if config[:piwik_url] == nil || config[:auth_token] == nil
102
+ #cache settings
103
+ Piwik.piwik_url = config[:piwik_url]
104
+ Piwik.auth_token = config[:auth_token]
91
105
  end
92
106
  config
93
107
  end
data/lib/piwik/site.rb CHANGED
@@ -16,7 +16,7 @@ module Piwik
16
16
  def initialize(attributes={}, piwik_url=nil, auth_token=nil)
17
17
  raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash)
18
18
  @config = if piwik_url.nil? || auth_token.nil?
19
- self.class.load_config_from_file
19
+ self.class.load_config
20
20
  else
21
21
  {:piwik_url => piwik_url, :auth_token => auth_token}
22
22
  end
@@ -35,7 +35,7 @@ module Piwik
35
35
  def self.load(site_id, piwik_url=nil, auth_token=nil)
36
36
  raise ArgumentError, "expected a site Id" if site_id.nil?
37
37
  @config = if piwik_url.nil? || auth_token.nil?
38
- load_config_from_file
38
+ load_config
39
39
  else
40
40
  {:piwik_url => piwik_url, :auth_token => auth_token}
41
41
  end
@@ -58,7 +58,7 @@ module Piwik
58
58
  cattr_accessor :use_async
59
59
 
60
60
  #at point of starting up a rails project Rails.root points to nil, and this config loading breakes a rails app
61
- @@url = Piwik::Base.load_config_from_file[:piwik_url]
61
+ @@url = Piwik::Base.load_config[:piwik_url]
62
62
  cattr_accessor :url
63
63
 
64
64
  @@environments = ["production","development"]
data/lib/piwik/user.rb CHANGED
@@ -18,7 +18,7 @@ module Piwik
18
18
  def initialize(attributes={}, piwik_url=nil, auth_token=nil)
19
19
  raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash)
20
20
  @config = if piwik_url.nil? || auth_token.nil?
21
- self.class.load_config_from_file
21
+ self.class.load_config
22
22
  else
23
23
  {:piwik_url => piwik_url, :auth_token => auth_token}
24
24
  end
@@ -94,7 +94,7 @@ module Piwik
94
94
  def self.load(user_login, piwik_url=nil, auth_token=nil)
95
95
  raise ArgumentError, "expected a user Login" if user_login.nil?
96
96
  @config = if piwik_url.nil? || auth_token.nil?
97
- load_config_from_file
97
+ load_config
98
98
  else
99
99
  {:piwik_url => piwik_url, :auth_token => auth_token}
100
100
  end
data/script/console CHANGED
@@ -5,6 +5,6 @@ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
5
5
  libs = " -r irb/completion"
6
6
  # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
7
  # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/piwik.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/simple-piwik.rb'}"
9
9
  puts "Loading piwik gem"
10
10
  exec "#{irb} #{libs} --simple-prompt"
data/simple-piwik.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{simple-piwik}
8
- s.version = "0.5.1"
8
+ s.version = "0.5.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{mihael}]
12
- s.date = %q{2011-08-04}
12
+ s.date = %q{2011-08-09}
13
13
  s.description = %q{Provides simple access to the Piwik API.}
14
14
  s.email = %q{mihael.ploh@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -54,16 +54,32 @@ class PiwikTest < Test::Unit::TestCase
54
54
  def test_can_read_standalone_config
55
55
  File.open(File.join(ENV["HOME"],".piwik"), "w") { p.puts(File.read("./files/config/piwik/yml")) } unless File.join(ENV["HOME"],".piwik")
56
56
  assert_nothing_raised do
57
- Piwik::Base.load_config_from_file
57
+ Piwik::Base.load_config
58
58
  end
59
59
  end
60
60
 
61
-
62
61
  def test_can_read_rails_config
63
62
  stub_rails_env do
64
63
  assert_nothing_raised do
65
- Piwik::Base.load_config_from_file
64
+ Piwik::Base.load_config
65
+ end
66
+ end
67
+ end
68
+
69
+ def test_can_be_configured
70
+ stub_rails_env do
71
+ #configuring manualy overrides the config file settings, if any
72
+ Piwik.piwik_url = "url"
73
+ Piwik.auth_token = "token"
74
+ assert_equal true, Piwik.is_configured?
75
+ assert_nothing_raised do
76
+ Piwik::Base.load_config
77
+ assert_equal "url", Piwik.piwik_url
78
+ assert_equal "token", Piwik.auth_token
66
79
  end
80
+ Piwik.piwik_url = nil
81
+ Piwik.auth_token = nil
67
82
  end
68
83
  end
84
+
69
85
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: simple-piwik
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.5.1
5
+ version: 0.5.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - mihael
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-08-04 00:00:00 Z
13
+ date: 2011-08-09 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport