autometal-piwik 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +2 -2
  3. data/bin/piwik-console +1 -0
  4. data/lib/piwik.rb +2 -2
  5. data/lib/piwik/base.rb +1 -1
  6. data/lib/piwik/{referers.rb → referrers.rb} +6 -3
  7. data/lib/piwik/scheduled_reports.rb +12 -0
  8. data/lib/piwik/site.rb +2 -1
  9. data/lib/piwik/version.rb +1 -1
  10. data/spec/files/{Referers.getCampaigns.xml → Referrers.getCampaigns.xml} +0 -0
  11. data/spec/files/{Referers.getKeywords.xml → Referrers.getKeywords.xml} +0 -0
  12. data/spec/files/{Referers.getKeywordsForPageUrl.xml → Referrers.getKeywordsForPageUrl.xml} +0 -0
  13. data/spec/files/{Referers.getNumberOfDistinctCampaigns.xml → Referrers.getNumberOfDistinctCampaigns.xml} +0 -0
  14. data/spec/files/{Referers.getNumberOfDistinctKeywords.xml → Referrers.getNumberOfDistinctKeywords.xml} +0 -0
  15. data/spec/files/{Referers.getNumberOfDistinctSearchEngines.xml → Referrers.getNumberOfDistinctSearchEngines.xml} +0 -0
  16. data/spec/files/{Referers.getNumberOfDistinctWebsites.xml → Referrers.getNumberOfDistinctWebsites.xml} +0 -0
  17. data/spec/files/{Referers.getNumberOfDistinctWebsitesUrls.xml → Referrers.getNumberOfDistinctWebsitesUrls.xml} +0 -0
  18. data/spec/files/{Referers.getRefererType.xml → Referrers.getReferrerType.xml} +0 -0
  19. data/spec/files/{Referers.getSearchEngines.xml → Referrers.getSearchEngines.xml} +0 -0
  20. data/spec/files/{Referers.getSocials.xml → Referrers.getSocials.xml} +0 -0
  21. data/spec/files/{Referers.getUrlsForSocial.xml → Referrers.getUrlsForSocial.xml} +0 -0
  22. data/spec/files/{Referers.getWebsites.xml → Referrers.getWebsites.xml} +0 -0
  23. data/spec/{referers_spec.rb → referrers_spec.rb} +4 -4
  24. data/spec/site_spec.rb +9 -9
  25. data/spec/spec_helper.rb +2 -2
  26. data/spec/user_spec.rb +1 -1
  27. metadata +59 -48
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZDA4MmI5NjRkMTQ4N2YwMTQ4YTZiYzA3NGFiNjIwODAyMWU0MjkyNA==
5
+ data.tar.gz: !binary |-
6
+ MTEyY2Y0ZWM4ZDY3NWE1MzJmYTVkYjY1ZWRmY2ViZTdjZjFmNDdhMA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MzdkZTM0MGFmNDQ5ZmEwNjkyMzBhMjM3MzhiZDBhOTU0OTExMTgyZmJjMjFj
10
+ NWIxZTgwMTY5ODg3NmVmZmViY2VjNDRhNmQ2ZGI1ZDBkNzUzNDNhYzAzMGMz
11
+ NzBmYjljNDdhZTQ3MGI4Y2Y5ZDZkOTVmYjI0MjU4Yzk5ODA3Njg=
12
+ data.tar.gz: !binary |-
13
+ NDA0ODFiMDdhMTBhYzczODU5MDVkYTQyMDZmNzZmNWEwMTc4ODJlODQxNTBh
14
+ ZmZkOWM1ZmM3NmZmYzM1ODMyMDExNDRiMDI5MjI4NWQ3OGY0NzY3Y2Q4OWQz
15
+ NjI3NWRjYjE5ZGZjZDQ1NzA5ZmRlZjhiODNmMjQ0YjUyMTFmZGU=
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Autometal-Piwik [![Build Status](https://travis-ci.org/piwik/piwik-ruby-api.png?branch=master)](https://travis-ci.org/piwik/piwik-ruby-api)
1
+ # Autometal-Piwik [![Build Status](https://travis-ci.org/piwik/piwik-ruby-api.png?branch=master)](https://travis-ci.org/piwik/piwik-ruby-api) [![Gem Version](https://badge.fury.io/rb/autometal-piwik.png)](http://badge.fury.io/rb/autometal-piwik)
2
2
 
3
3
  This is now the official Ruby client for Piwik. It completely covers the Piwik API and should be easily extendable by users. We made no assumptions on how you wanna use your data, so we closely mirrored Piwik's API structure even if it looks kinda weird to a modern rubyist.
4
4
 
@@ -32,7 +32,7 @@ Or install it yourself as:
32
32
  Open an extended irb session to a Piwik installation:
33
33
 
34
34
  $ piwik-console -u http://demo.piwik.org -t anonymous
35
- :001 > Piwik::Site.load 7
35
+ :001 > Site.load 7
36
36
  #=> #<Piwik::Site[snip]>
37
37
 
38
38
  ### Initialize it
@@ -18,6 +18,7 @@ unless options.empty?
18
18
  IRB.conf[:AT_EXIT].push proc { exec("rm -f .piwik.rc.rb") }
19
19
  Piwik::PIWIK_URL = '#{options[:piwik_url]}'
20
20
  Piwik::PIWIK_TOKEN = '#{options[:token_auth]}'
21
+ include Piwik
21
22
  }
22
23
 
23
24
  File.open('./.piwik.rc.rb','w') { |f| f.puts(code) }
@@ -6,9 +6,9 @@ require 'string'
6
6
 
7
7
  %W{
8
8
  typecast api_scope base data_methods api_module api_response version
9
- seo referers transitions user_country visit_time visitor_interest visits_summary
9
+ seo referrers transitions user_country visit_time visitor_interest visits_summary
10
10
  user_settings annotations sites_manager users_manager
11
- actions live pdf_reports image_graph
11
+ actions live pdf_reports scheduled_reports image_graph
12
12
  provider visit_frequency multi_sites mobile_messaging
13
13
  custom_variables languages_manager goals example_api api
14
14
  site user
@@ -145,7 +145,7 @@ EOF
145
145
  url = "#{piwik_url}/index.php?"
146
146
  params.merge!({:module => 'API', :format => 'xml', :method => method})
147
147
  params.merge!({:token_auth => auth_token}) unless auth_token.nil?
148
- url << params.map { |k, v| "#{k}=#{CGI.escape(v.to_s)}" }.join('&')
148
+ url << params.to_query
149
149
  verbose_obj_save = $VERBOSE
150
150
  $VERBOSE = nil # Suppress "warning: peer certificate won't be verified in this SSL session"
151
151
  xml = RestClient.get(url)
@@ -1,7 +1,7 @@
1
1
  module Piwik
2
- class Referers < ApiModule
2
+ class Referrers < ApiModule
3
3
  available_methods %W{
4
- getRefererType
4
+ getReferrerType
5
5
  getKeywords
6
6
  getKeywordsForPageUrl
7
7
  getKeywordsForPageTitle
@@ -59,4 +59,7 @@ module Piwik
59
59
  end
60
60
  end
61
61
  end
62
- end
62
+ end
63
+
64
+ # alias new class name to old one for backwards-compatible API
65
+ Piwik::Referers = Piwik::Referrers
@@ -0,0 +1,12 @@
1
+ module Piwik
2
+ class ScheduledReports < ApiModule
3
+ available_methods %W{
4
+ addReport
5
+ updateReport
6
+ deleteReport
7
+ getReports
8
+ generateReport
9
+ sendReport
10
+ }
11
+ end
12
+ end
@@ -26,11 +26,12 @@ module Piwik
26
26
  # Furthermore, API methods are redefined as proxy_methods,
27
27
  # allowing for ruby-friendlier names, default parameters and other nice things.
28
28
  class Site < Base
29
- api_scope :referers
29
+ api_scope :referrers
30
30
  api_scope :visits, :class_name => 'VisitsSummary'
31
31
  api_scope :actions
32
32
  api_scope :transitions
33
33
  api_scope :annotations
34
+ api_scope :scheduled_reports
34
35
  api_scope :goals
35
36
 
36
37
  # Returns search engine information for site home
@@ -1,3 +1,3 @@
1
1
  module Piwik
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.3"
3
3
  end
@@ -1,11 +1,11 @@
1
1
  require 'spec_helper'
2
- describe 'Piwik::Referers' do
2
+ describe 'Piwik::Referrers' do
3
3
  before {
4
4
  stub_api_calls
5
5
  }
6
6
 
7
7
  let(:params) { {:idSite => 1, :period => 'day', :date => 'yesterday'} }
8
- subject { Piwik::Referers }
8
+ subject { Piwik::Referrers }
9
9
 
10
10
  describe "#get_keywords" do
11
11
  assert_data_integrity(:get_keywords, :size => 10)
@@ -16,8 +16,8 @@ describe 'Piwik::Referers' do
16
16
  it { subject.get_campaigns(params).empty?.should eq(true) }
17
17
  end
18
18
 
19
- describe "#get_referer_type" do
20
- assert_data_integrity(:get_referer_type, :size => 3)
19
+ describe "#get_referrer_type" do
20
+ assert_data_integrity(:get_referrer_type, :size => 3)
21
21
  end
22
22
 
23
23
  describe "#get_number_of_distinct_keywords" do
@@ -19,7 +19,7 @@ describe 'Piwik::Site' do
19
19
  describe 'with wrong id' do
20
20
  before {Piwik::SitesManager.stub(:call).with('SitesManager.getSiteFromId',{:idSite => 666}, /.*/, /.*/).and_return('<result>0</result>')}
21
21
 
22
- xit { expect {Piwik::Site.load(666)}.to raise_error(Piwik::UnknownSite) }
22
+ xit { expect {Piwik::Site.load(666)}.to raise_error }
23
23
  end
24
24
 
25
25
  it { subject.seo_info.first['rank'].to_i.should eq(7) }
@@ -28,10 +28,10 @@ describe 'Piwik::Site' do
28
28
  subject { build(:site).annotations }
29
29
 
30
30
  it { subject.all.size.should eq(2) }
31
- it { subject.update(1,{:pattern => 2}).should_not raise_error(Piwik::ApiError) }
32
- it { subject.delete(1).should_not raise_error(Piwik::ApiError) }
31
+ it { subject.update(1,{:pattern => 2}).should_not raise_error }
32
+ it { subject.delete(1).should_not raise_error }
33
33
  it { subject.add(:name => 'test', :note => 'meah', :starred => 1).size.should eq(6) }
34
- it { subject.count_for_dates.should_not raise_error(Piwik::ApiError) }
34
+ it { subject.count_for_dates.should_not raise_error }
35
35
 
36
36
  end
37
37
 
@@ -61,8 +61,8 @@ describe 'Piwik::Site' do
61
61
  it { subject.outlink('http://mysite.com').exit_nb_visits.should eq(5) }
62
62
  end
63
63
 
64
- describe '#referers' do
65
- subject { build(:site).referers }
64
+ describe '#referrers' do
65
+ subject { build(:site).referrers }
66
66
 
67
67
  it { subject.websites.size.should eq(27) }
68
68
  it { subject.websites_count.should eq(27) }
@@ -80,9 +80,9 @@ describe 'Piwik::Site' do
80
80
 
81
81
  it { subject.all.size.should eq(3) }
82
82
  it { subject.load(1).nb_conversions.should eq(82) }
83
- it { subject.update(1,{:pattern => 2}).should_not raise_error(Piwik::ApiError) }
84
- it { subject.delete(1).should_not raise_error(Piwik::ApiError) }
85
- it { subject.add(:name => 'test', 'matchAttribute' => '/', :pattern => '/', :patternType => 1).should_not raise_error(Piwik::ApiError) }
83
+ it { subject.update(1,{:pattern => 2}).should_not raise_error }
84
+ it { subject.delete(1).should_not raise_error }
85
+ it { subject.add(:name => 'test', 'matchAttribute' => '/', :pattern => '/', :patternType => 1).should_not raise_error }
86
86
  end
87
87
 
88
88
  describe '#transitions' do
@@ -43,7 +43,7 @@ end
43
43
 
44
44
  def assert_data_integrity method, options = {}
45
45
  it { puts subject.inspect } if options[:debug]
46
- it { subject.send(method,params).should_not raise_error(NoMethodError) }
46
+ it { expect { subject.send(method,params) }.not_to raise_error }
47
47
  enum_class = defined?(Enumerator) ? 'Enumerator' : 'Enumerable::Enumerator'
48
48
  it { subject.send(method,params).each.should be_a(enum_class.constantize) }
49
49
  it { subject.send(method,params).empty?.should eq(false) }
@@ -54,7 +54,7 @@ end
54
54
 
55
55
  def assert_value_integrity method, options = {}
56
56
  it { puts subject.inspect } if options[:debug]
57
- it { subject.send(method,params).should_not raise_error(NoMethodError) }
57
+ it { expect { subject.send(method,params) }.not_to raise_error }
58
58
  it { subject.send(method,params).empty?.should eq(false) }
59
59
  if options[:value].present?
60
60
  it { subject.send(method,params).value.should eq(options[:value]) }
@@ -21,7 +21,7 @@ describe 'Piwik::User' do
21
21
  subject.destroy.should eq(true)
22
22
  }
23
23
 
24
- it { expect {Piwik::User.load('mike_ness')}.to raise_error(Piwik::ApiError) }
24
+ it { expect {Piwik::User.load('mike_ness')}.to raise_error }
25
25
  describe "#load existing" do
26
26
  before {
27
27
  @user = build(:user)
metadata CHANGED
@@ -1,60 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autometal-piwik
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Achilles Charmpilas
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-23 00:00:00.000000000Z
11
+ date: 2014-02-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: xml-simple
16
- requirement: &2168593740 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *2168593740
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rest-client
27
- requirement: &2168592840 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ! '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *2168592840
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: activesupport
38
- requirement: &2168592120 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
47
  version: '3.0'
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *2168592120
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rspec
49
- requirement: &2168591340 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *2168591340
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  description: A complete Ruby client for the Piwik API
59
70
  email:
60
71
  - ac@humbuckercode.co.uk
@@ -91,7 +102,8 @@ files:
91
102
  - lib/piwik/multi_sites.rb
92
103
  - lib/piwik/pdf_reports.rb
93
104
  - lib/piwik/provider.rb
94
- - lib/piwik/referers.rb
105
+ - lib/piwik/referrers.rb
106
+ - lib/piwik/scheduled_reports.rb
95
107
  - lib/piwik/seo.rb
96
108
  - lib/piwik/site.rb
97
109
  - lib/piwik/sites_manager.rb
@@ -163,19 +175,19 @@ files:
163
175
  - spec/files/MultiSites.getOne.xml
164
176
  - spec/files/PDFReports.getReports.xml
165
177
  - spec/files/Provider.getProvider.xml
166
- - spec/files/Referers.getCampaigns.xml
167
- - spec/files/Referers.getKeywords.xml
168
- - spec/files/Referers.getKeywordsForPageUrl.xml
169
- - spec/files/Referers.getNumberOfDistinctCampaigns.xml
170
- - spec/files/Referers.getNumberOfDistinctKeywords.xml
171
- - spec/files/Referers.getNumberOfDistinctSearchEngines.xml
172
- - spec/files/Referers.getNumberOfDistinctWebsites.xml
173
- - spec/files/Referers.getNumberOfDistinctWebsitesUrls.xml
174
- - spec/files/Referers.getRefererType.xml
175
- - spec/files/Referers.getSearchEngines.xml
176
- - spec/files/Referers.getSocials.xml
177
- - spec/files/Referers.getUrlsForSocial.xml
178
- - spec/files/Referers.getWebsites.xml
178
+ - spec/files/Referrers.getCampaigns.xml
179
+ - spec/files/Referrers.getKeywords.xml
180
+ - spec/files/Referrers.getKeywordsForPageUrl.xml
181
+ - spec/files/Referrers.getNumberOfDistinctCampaigns.xml
182
+ - spec/files/Referrers.getNumberOfDistinctKeywords.xml
183
+ - spec/files/Referrers.getNumberOfDistinctSearchEngines.xml
184
+ - spec/files/Referrers.getNumberOfDistinctWebsites.xml
185
+ - spec/files/Referrers.getNumberOfDistinctWebsitesUrls.xml
186
+ - spec/files/Referrers.getReferrerType.xml
187
+ - spec/files/Referrers.getSearchEngines.xml
188
+ - spec/files/Referrers.getSocials.xml
189
+ - spec/files/Referrers.getUrlsForSocial.xml
190
+ - spec/files/Referrers.getWebsites.xml
179
191
  - spec/files/SEO.getRank.xml
180
192
  - spec/files/SitesManager.addSite.xml
181
193
  - spec/files/SitesManager.getAllSites.xml
@@ -254,7 +266,7 @@ files:
254
266
  - spec/multi_sites_spec.rb
255
267
  - spec/pdf_reports_spec.rb
256
268
  - spec/provider_spec.rb
257
- - spec/referers_spec.rb
269
+ - spec/referrers_spec.rb
258
270
  - spec/seo_spec.rb
259
271
  - spec/site_spec.rb
260
272
  - spec/sites_manager_spec.rb
@@ -271,27 +283,26 @@ files:
271
283
  homepage: http://humbuckercode.co.uk/licks/gems/piwik/
272
284
  licenses:
273
285
  - MIT
286
+ metadata: {}
274
287
  post_install_message:
275
288
  rdoc_options: []
276
289
  require_paths:
277
290
  - lib
278
291
  required_ruby_version: !ruby/object:Gem::Requirement
279
- none: false
280
292
  requirements:
281
293
  - - ! '>='
282
294
  - !ruby/object:Gem::Version
283
295
  version: '0'
284
296
  required_rubygems_version: !ruby/object:Gem::Requirement
285
- none: false
286
297
  requirements:
287
298
  - - ! '>='
288
299
  - !ruby/object:Gem::Version
289
300
  version: '0'
290
301
  requirements: []
291
302
  rubyforge_project:
292
- rubygems_version: 1.8.10
303
+ rubygems_version: 2.1.11
293
304
  signing_key:
294
- specification_version: 3
305
+ specification_version: 4
295
306
  summary: A complete Ruby client for the Piwik API
296
307
  test_files:
297
308
  - spec/actions_spec.rb
@@ -350,19 +361,19 @@ test_files:
350
361
  - spec/files/MultiSites.getOne.xml
351
362
  - spec/files/PDFReports.getReports.xml
352
363
  - spec/files/Provider.getProvider.xml
353
- - spec/files/Referers.getCampaigns.xml
354
- - spec/files/Referers.getKeywords.xml
355
- - spec/files/Referers.getKeywordsForPageUrl.xml
356
- - spec/files/Referers.getNumberOfDistinctCampaigns.xml
357
- - spec/files/Referers.getNumberOfDistinctKeywords.xml
358
- - spec/files/Referers.getNumberOfDistinctSearchEngines.xml
359
- - spec/files/Referers.getNumberOfDistinctWebsites.xml
360
- - spec/files/Referers.getNumberOfDistinctWebsitesUrls.xml
361
- - spec/files/Referers.getRefererType.xml
362
- - spec/files/Referers.getSearchEngines.xml
363
- - spec/files/Referers.getSocials.xml
364
- - spec/files/Referers.getUrlsForSocial.xml
365
- - spec/files/Referers.getWebsites.xml
364
+ - spec/files/Referrers.getCampaigns.xml
365
+ - spec/files/Referrers.getKeywords.xml
366
+ - spec/files/Referrers.getKeywordsForPageUrl.xml
367
+ - spec/files/Referrers.getNumberOfDistinctCampaigns.xml
368
+ - spec/files/Referrers.getNumberOfDistinctKeywords.xml
369
+ - spec/files/Referrers.getNumberOfDistinctSearchEngines.xml
370
+ - spec/files/Referrers.getNumberOfDistinctWebsites.xml
371
+ - spec/files/Referrers.getNumberOfDistinctWebsitesUrls.xml
372
+ - spec/files/Referrers.getReferrerType.xml
373
+ - spec/files/Referrers.getSearchEngines.xml
374
+ - spec/files/Referrers.getSocials.xml
375
+ - spec/files/Referrers.getUrlsForSocial.xml
376
+ - spec/files/Referrers.getWebsites.xml
366
377
  - spec/files/SEO.getRank.xml
367
378
  - spec/files/SitesManager.addSite.xml
368
379
  - spec/files/SitesManager.getAllSites.xml
@@ -441,7 +452,7 @@ test_files:
441
452
  - spec/multi_sites_spec.rb
442
453
  - spec/pdf_reports_spec.rb
443
454
  - spec/provider_spec.rb
444
- - spec/referers_spec.rb
455
+ - spec/referrers_spec.rb
445
456
  - spec/seo_spec.rb
446
457
  - spec/site_spec.rb
447
458
  - spec/sites_manager_spec.rb