snogmetrics 0.1.9 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +203 -0
  5. data/Gemfile.lock +128 -25
  6. data/README.mdown +11 -6
  7. data/Rakefile +5 -12
  8. data/lib/snogmetrics.rb +18 -130
  9. data/lib/snogmetrics/kissmetrics_api.rb +112 -0
  10. data/lib/snogmetrics/railtie.rb +0 -1
  11. data/snogmetrics.gemspec +18 -12
  12. metadata +100 -130
  13. data/example/snoggy/.gitignore +0 -1
  14. data/example/snoggy/README.mdown +0 -7
  15. data/example/snoggy/Rakefile +0 -10
  16. data/example/snoggy/app/controllers/application_controller.rb +0 -2
  17. data/example/snoggy/app/controllers/snogs_controller.rb +0 -9
  18. data/example/snoggy/app/views/layouts/application.html.erb +0 -12
  19. data/example/snoggy/app/views/snogs/new.html.erb +0 -11
  20. data/example/snoggy/app/views/snogs/thank_you.html.erb +0 -1
  21. data/example/snoggy/config/boot.rb +0 -110
  22. data/example/snoggy/config/environment.rb +0 -13
  23. data/example/snoggy/config/environments/development.rb +0 -6
  24. data/example/snoggy/config/environments/production.rb +0 -4
  25. data/example/snoggy/config/environments/test.rb +0 -6
  26. data/example/snoggy/config/initializers/snogmetrics.rb +0 -14
  27. data/example/snoggy/config/routes.rb +0 -4
  28. data/example/snoggy/script/about +0 -4
  29. data/example/snoggy/script/console +0 -3
  30. data/example/snoggy/script/dbconsole +0 -3
  31. data/example/snoggy/script/destroy +0 -3
  32. data/example/snoggy/script/generate +0 -3
  33. data/example/snoggy/script/performance/benchmarker +0 -3
  34. data/example/snoggy/script/performance/profiler +0 -3
  35. data/example/snoggy/script/plugin +0 -3
  36. data/example/snoggy/script/runner +0 -3
  37. data/example/snoggy/script/server +0 -3
  38. data/example/snoggy/vendor/plugins/snogmetrics/init.rb +0 -4
  39. data/rails/init.rb +0 -4
  40. data/spec/snogmetrics_spec.rb +0 -224
  41. data/spec/spec.opts +0 -2
  42. data/spec/spec_helper.rb +0 -15
@@ -1,7 +1,8 @@
1
1
  require 'snogmetrics/railtie' if defined? Rails::Railtie
2
+ require 'snogmetrics/kissmetrics_api'
2
3
 
3
- # If SNOGmetrics is used as a Rails plugin, this module is automatically mixed
4
- # into ActionController::Base, so that it's #km method is available in
4
+ # If SNOGmetrics is used as a Rails plugin, this module is automatically mixed
5
+ # into ActionController::Base, so that it's #km method is available in
5
6
  # controllers and in views.
6
7
  #
7
8
  # If not used as a Rails plugin, make sure that the context where Snogmetrics
@@ -16,21 +17,20 @@ require 'snogmetrics/railtie' if defined? Rails::Railtie
16
17
  # The array output strategy simply logs all events in the _kmq variable.
17
18
  # The live output strategy sends calls to the async KISSmetrics JS API.
18
19
  #
19
- # The default implementation outputs the real API only when
20
+ # The default implementation outputs the real API only when
20
21
  # `Rails.env.production?` is true, and otherwise uses console.log
21
22
  module Snogmetrics
22
- VERSION = '0.1.9'
23
+ VERSION = '0.2.1'.freeze
24
+
25
+ class << self
26
+ attr_accessor :kissmetrics_api_key, :output_strategy
27
+ end
23
28
 
24
29
  # Returns an instance of KissmetricsApi, which is an interface to the
25
30
  # KISSmetrics API. It has the methods #record and #identify, which work just
26
31
  # like the corresponding methods in the JavaScript API.
27
32
  def km
28
- @km_api ||= KissmetricsApi.new(kissmetrics_api_key, session, output_strategy)
29
- end
30
-
31
- # Override this method to set the KISSmetrics API key
32
- def kissmetrics_api_key
33
- ''
33
+ @km_api ||= KissmetricsApi.new(Snogmetrics.kissmetrics_api_key, session, output_strategy)
34
34
  end
35
35
 
36
36
  # Override this method to set the output strategy.
@@ -40,135 +40,23 @@ module Snogmetrics
40
40
  # :array store events pushed to KISSmetrics on _kmq
41
41
  # :live send events to KISSmetrics via the async JS API
42
42
  def output_strategy
43
- if use_fake_kissmetrics_api?
44
- :console_log
45
- else
46
- :live
47
- end
43
+ Snogmetrics.output_strategy ||
44
+ if use_fake_kissmetrics_api?
45
+ :console_log
46
+ else
47
+ :live
48
+ end
48
49
  end
49
-
50
+
50
51
  # Deprecated: Prefer overriding #output_strategy to control the output strategy.
51
52
  #
52
53
  # Override this method to customize when the real API and when the stub API
53
54
  # will be outputted.
54
55
  def use_fake_kissmetrics_api?
55
56
  if defined? Rails
56
- ! Rails.env.production?
57
+ !Rails.env.production?
57
58
  else
58
59
  false
59
60
  end
60
61
  end
61
-
62
-
63
- private
64
-
65
- class KissmetricsApi
66
- # Do not instantiate KissmetricsApi yourself, instead mix in Snogmetrics
67
- # and use it's #km method to get an instance of KissmetricsApi.
68
- def initialize(api_key, session, output_strategy)
69
- @session = session
70
- @api_key = api_key
71
- @output_strategy = output_strategy
72
- end
73
-
74
- # The equivalent of the `KM.record` method of the JavaScript API. You can
75
- # pass either an event name, an event name and a hash of properties, or only
76
- # a hash of properties.
77
- def record(*args)
78
- raise 'Not enough arguments' if args.size == 0
79
- raise 'Too many arguments' if args.size > 2
80
-
81
- queue << ['record', *args]
82
- end
83
-
84
- # The equivalent of the `KM.identify` method of the JavaScript API.
85
- def identify(identity)
86
- unless @session[:km_identity] == identity
87
- queue.delete_if { |e| e.first == 'identify' }
88
- queue << ['identify', identity]
89
- @session[:km_identity] = identity
90
- end
91
- end
92
-
93
- # The equivalent of the `KM.trackClick` method of the JavaScript API. The first
94
- # argument should be a selector (a tag id or class name). Furthermore you can
95
- # pass either an event name, an event name and a hash of properties, or only
96
- # a hash of properties.
97
- def trackClick(selector, *args)
98
- raise 'Not enough arguments' if args.size == 0
99
- raise 'Too many arguments' if args.size > 2
100
-
101
- queue << ['trackClick', selector, *args]
102
- end
103
-
104
- # Register which variant the user saw in an A/B test.
105
- def set(experiment, variant)
106
- queue << ['set', { experiment => variant }]
107
- end
108
-
109
- # Equivalent to `js(:reset => true)`, i.e. returns the JavaScript code
110
- # needed to load the KISSmetrics API and send the current state, and reset
111
- # the state afterwards.
112
- def js!
113
- js(:reset => true)
114
- end
115
-
116
- # In most situations you want the #js! method instead of this one.
117
- #
118
- # Returns the JavaScript needed to send the current state to KISSmetrics.
119
- # This includes the a JavaScript tag that loads the API code (or a fake API
120
- # that sends events to the console or a global array if the `output_strategy`
121
- # parameter to #initialize is :console_log or :array), as well as statements
122
- # that push the current state onto the `_kmq` array.
123
- #
124
- # You can pass the option `:reset` to reset the state, this makes sure that
125
- # subsequent calls to #js will not send events that have already been sent.
126
- def js(options={})
127
- options = {:reset => false}.merge(options)
128
-
129
- buffer = queue.map { |item| %(_kmq.push(#{item.to_json});) }
130
-
131
- queue.clear if options[:reset]
132
-
133
- <<-JAVASCRIPT
134
- <script type="text/javascript">
135
- var _kmq = _kmq || [];
136
- #{api_js}
137
- #{buffer.join("\n")}
138
- </script>
139
- JAVASCRIPT
140
- end
141
-
142
- private
143
-
144
- def queue
145
- @session[:km_queue] ||= []
146
- end
147
-
148
- def api_js
149
- if @output_strategy == :console_log
150
- <<-JS
151
- if (window.console) {
152
- _kmq = (function(queue) {
153
- var printCall = function() {
154
- console.dir(arguments);
155
- }
156
-
157
- for (var i = 0; i < queue.length; i++) {
158
- printCall.apply(null, queue[i]);
159
- }
160
-
161
- return {push: printCall};
162
- })(_kmq);
163
- }
164
- JS
165
- elsif @output_strategy == :live
166
- %((function(){function _kms(u,d){if(navigator.appName.indexOf("Microsoft")==0 && d)document.write("<scr"+"ipt defer='defer' async='true' src='"+u+"'></scr"+"ipt>");else{var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=u;(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);}}_kms('https://i.kissmetrics.com/i.js');_kms('http'+('https:'==document.location.protocol ? 's://s3.amazonaws.com/' : '://')+'scripts.kissmetrics.com/#{@api_key}.1.js',1);})();)
167
- elsif @output_strategy == :array
168
- ""
169
- else
170
- raise "Unknown KISSmetrics output strategy: #{@output_strategy}"
171
- end
172
- end
173
- end
174
62
  end
@@ -0,0 +1,112 @@
1
+ module Snogmetrics
2
+ class KissmetricsApi
3
+ # Do not instantiate KissmetricsApi yourself, instead mix in Snogmetrics
4
+ # and use it's #km method to get an instance of KissmetricsApi.
5
+ def initialize(api_key, session, output_strategy)
6
+ @session = session
7
+ @api_key = api_key
8
+ @output_strategy = output_strategy
9
+ end
10
+
11
+ # The equivalent of the `KM.record` method of the JavaScript API. You can
12
+ # pass either an event name, an event name and a hash of properties, or only
13
+ # a hash of properties.
14
+ def record(*args)
15
+ raise 'Not enough arguments' if args.empty?
16
+ raise 'Too many arguments' if args.size > 2
17
+
18
+ queue << ['record', *args]
19
+ end
20
+
21
+ # The equivalent of the `KM.identify` method of the JavaScript API.
22
+ def identify(identity)
23
+ unless @session[:km_identity] == identity
24
+ queue.delete_if { |e| e.first == 'identify' }
25
+ queue << ['identify', identity]
26
+ @session[:km_identity] = identity
27
+ end
28
+ end
29
+
30
+ # The equivalent of the `KM.trackClick` method of the JavaScript API. The first
31
+ # argument should be a selector (a tag id or class name). Furthermore you can
32
+ # pass either an event name, an event name and a hash of properties, or only
33
+ # a hash of properties.
34
+ def trackClick(selector, *args)
35
+ raise 'Not enough arguments' if args.empty?
36
+ raise 'Too many arguments' if args.size > 2
37
+
38
+ queue << ['trackClick', selector, *args]
39
+ end
40
+
41
+ # Register which variant the user saw in an A/B test.
42
+ def set(experiment, variant)
43
+ queue << ['set', { experiment => variant }]
44
+ end
45
+
46
+ # Equivalent to `js(:reset => true)`, i.e. returns the JavaScript code
47
+ # needed to load the KISSmetrics API and send the current state, and reset
48
+ # the state afterwards.
49
+ def js!
50
+ js(reset: true)
51
+ end
52
+
53
+ # In most situations you want the #js! method instead of this one.
54
+ #
55
+ # Returns the JavaScript needed to send the current state to KISSmetrics.
56
+ # This includes the a JavaScript tag that loads the API code (or a fake API
57
+ # that sends events to the console or a global array if the `output_strategy`
58
+ # parameter to #initialize is :console_log or :array), as well as statements
59
+ # that push the current state onto the `_kmq` array.
60
+ #
61
+ # You can pass the option `:reset` to reset the state, this makes sure that
62
+ # subsequent calls to #js will not send events that have already been sent.
63
+ def js(options = {})
64
+ options = { reset: false }.merge(options)
65
+
66
+ buffer = queue.map { |item| %(_kmq.push(#{item.to_json});) }
67
+
68
+ queue.clear if options[:reset]
69
+
70
+ <<-JAVASCRIPT
71
+ <script type="text/javascript">
72
+ var _kmq = _kmq || [];
73
+ #{api_js}
74
+ #{buffer.join("\n")}
75
+ </script>
76
+ JAVASCRIPT
77
+ end
78
+
79
+ private
80
+
81
+ def queue
82
+ @session[:km_queue] ||= []
83
+ end
84
+
85
+ def api_js
86
+ case @output_strategy
87
+ when :console_log
88
+ <<-JS
89
+ if (window.console) {
90
+ _kmq = (function(queue) {
91
+ var printCall = function() {
92
+ console.dir(arguments);
93
+ }
94
+
95
+ for (var i = 0; i < queue.length; i++) {
96
+ printCall.apply(null, queue[i]);
97
+ }
98
+
99
+ return {push: printCall};
100
+ })(_kmq);
101
+ }
102
+ JS
103
+ when :live
104
+ %(function _kms(e){setTimeout(function(){var s=document,t=s.getElementsByTagName("script")[0],c=s.createElement("script");c.type="text/javascript",c.async=!0,c.src=e,t.parentNode.insertBefore(c,t)},1)}_kms("//i.kissmetrics.com/i.js"),_kms("//scripts.kissmetrics.com/#{@api_key}.2.js");)
105
+ when :array
106
+ ''
107
+ else
108
+ raise "Unknown KISSmetrics output strategy: #{@output_strategy}"
109
+ end
110
+ end
111
+ end
112
+ end
@@ -1,7 +1,6 @@
1
1
  require 'snogmetrics'
2
2
  require 'rails'
3
3
 
4
-
5
4
  module Snogmetrics
6
5
  class Railtie < Rails::Railtie
7
6
  config.after_initialize do
@@ -1,5 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/snogmetrics', __FILE__)
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require 'snogmetrics'
3
7
 
4
8
  Gem::Specification.new do |s|
5
9
  s.name = 'snogmetrics'
@@ -10,19 +14,21 @@ Gem::Specification.new do |s|
10
14
  s.homepage = 'http://github.org/iconara/snogmetrics'
11
15
  s.summary = 'SNOGmetrics is a KISSmetrics helper for Rails'
12
16
  s.description = 'SNOGmetrics gives you the best of both worlds: access to KISSmetrics\' JavaScript API through Ruby'
17
+ s.license = 'MIT'
13
18
 
14
19
  s.required_rubygems_version = '>= 1.3.6'
15
- s.rubyforge_project = 'snogmetrics'
16
20
 
17
- s.add_development_dependency 'bundler', '~> 1.0.0'
18
- s.add_development_dependency 'rake', '~> 0.8.7'
19
- s.add_development_dependency 'yard'
20
- s.add_development_dependency 'BlueCloth'
21
- s.add_development_dependency 'rails'
22
- s.add_development_dependency 'rspec'
23
- s.add_development_dependency 'rcov'
21
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
22
+ f.match(%r{^(test|spec|features|example)/})
23
+ end
24
+ s.bindir = 'bin'
25
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
+ s.require_paths = ['lib']
24
27
 
25
- s.files = `git ls-files`.split("\n")
26
- s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
27
- s.require_path = 'lib'
28
+ s.add_development_dependency 'bundler', '~> 1.14'
29
+ s.add_development_dependency 'rake', '~> 12.0'
30
+ s.add_development_dependency 'yard', '~> 0.9'
31
+ s.add_development_dependency 'rails', '~> 4.2'
32
+ s.add_development_dependency 'rspec', '~> 3.6'
33
+ s.add_development_dependency 'rubocop', '~> 0.49'
28
34
  end
metadata CHANGED
@@ -1,173 +1,143 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: snogmetrics
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.1.9
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
6
5
  platform: ruby
7
- authors:
6
+ authors:
8
7
  - Theo Hultberg
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
-
13
- date: 2011-08-30 00:00:00 +02:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
11
+ date: 2017-07-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
17
14
  name: bundler
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
20
- none: false
21
- requirements:
22
- - - ~>
23
- - !ruby/object:Gem::Version
24
- version: 1.0.0
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.14'
25
20
  type: :development
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
21
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
31
- none: false
32
- requirements:
33
- - - ~>
34
- - !ruby/object:Gem::Version
35
- version: 0.8.7
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '12.0'
36
34
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: yard
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '12.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: yard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
47
48
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: BlueCloth
51
49
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
58
- type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
55
+ - !ruby/object:Gem::Dependency
61
56
  name: rails
62
- prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
64
- none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: "0"
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.2'
69
62
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: rspec
73
63
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: "0"
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.6'
80
76
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: rcov
84
77
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: "0"
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.49'
91
90
  type: :development
92
- version_requirements: *id007
93
- description: "SNOGmetrics gives you the best of both worlds: access to KISSmetrics' JavaScript API through Ruby"
94
- email:
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.49'
97
+ description: 'SNOGmetrics gives you the best of both worlds: access to KISSmetrics''
98
+ JavaScript API through Ruby'
99
+ email:
95
100
  - theo@iconara.net
96
101
  executables: []
97
-
98
102
  extensions: []
99
-
100
103
  extra_rdoc_files: []
101
-
102
- files:
103
- - .document
104
- - .gitignore
104
+ files:
105
+ - ".document"
106
+ - ".gitignore"
107
+ - ".rubocop.yml"
108
+ - ".rubocop_todo.yml"
105
109
  - CHANGELOG.mdown
106
110
  - Gemfile
107
111
  - Gemfile.lock
108
112
  - LICENSE
109
113
  - README.mdown
110
114
  - Rakefile
111
- - example/snoggy/.gitignore
112
- - example/snoggy/README.mdown
113
- - example/snoggy/Rakefile
114
- - example/snoggy/app/controllers/application_controller.rb
115
- - example/snoggy/app/controllers/snogs_controller.rb
116
- - example/snoggy/app/views/layouts/application.html.erb
117
- - example/snoggy/app/views/snogs/new.html.erb
118
- - example/snoggy/app/views/snogs/thank_you.html.erb
119
- - example/snoggy/config/boot.rb
120
- - example/snoggy/config/environment.rb
121
- - example/snoggy/config/environments/development.rb
122
- - example/snoggy/config/environments/production.rb
123
- - example/snoggy/config/environments/test.rb
124
- - example/snoggy/config/initializers/snogmetrics.rb
125
- - example/snoggy/config/routes.rb
126
- - example/snoggy/script/about
127
- - example/snoggy/script/console
128
- - example/snoggy/script/dbconsole
129
- - example/snoggy/script/destroy
130
- - example/snoggy/script/generate
131
- - example/snoggy/script/performance/benchmarker
132
- - example/snoggy/script/performance/profiler
133
- - example/snoggy/script/plugin
134
- - example/snoggy/script/runner
135
- - example/snoggy/script/server
136
- - example/snoggy/vendor/plugins/snogmetrics/init.rb
137
115
  - lib/snogmetrics.rb
116
+ - lib/snogmetrics/kissmetrics_api.rb
138
117
  - lib/snogmetrics/railtie.rb
139
- - rails/init.rb
140
118
  - snogmetrics.gemspec
141
- - spec/snogmetrics_spec.rb
142
- - spec/spec.opts
143
- - spec/spec_helper.rb
144
- has_rdoc: true
145
119
  homepage: http://github.org/iconara/snogmetrics
146
- licenses: []
147
-
120
+ licenses:
121
+ - MIT
122
+ metadata: {}
148
123
  post_install_message:
149
124
  rdoc_options: []
150
-
151
- require_paths:
125
+ require_paths:
152
126
  - lib
153
- required_ruby_version: !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
127
+ required_ruby_version: !ruby/object:Gem::Requirement
128
+ requirements:
156
129
  - - ">="
157
- - !ruby/object:Gem::Version
158
- version: "0"
159
- required_rubygems_version: !ruby/object:Gem::Requirement
160
- none: false
161
- requirements:
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
+ requirements:
162
134
  - - ">="
163
- - !ruby/object:Gem::Version
135
+ - !ruby/object:Gem::Version
164
136
  version: 1.3.6
165
137
  requirements: []
166
-
167
- rubyforge_project: snogmetrics
168
- rubygems_version: 1.5.2
138
+ rubyforge_project:
139
+ rubygems_version: 2.5.1
169
140
  signing_key:
170
- specification_version: 3
141
+ specification_version: 4
171
142
  summary: SNOGmetrics is a KISSmetrics helper for Rails
172
143
  test_files: []
173
-