hit_counter 0.1.4 → 0.1.5
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +3 -3
- data/.github/workflows/test.yml +9 -2
- data/CONTRIBUTING.md +4 -4
- data/Gemfile +10 -0
- data/README.md +12 -13
- data/Rakefile +13 -0
- data/SECURITY.md +4 -4
- data/hit_counter.gemspec +2 -13
- data/lib/hit_counter.rb +16 -19
- data/lib/tasks/install.rake +6 -0
- data/lib/version.rb +3 -2
- data/spec/lib/hit_counter_spec.rb +7 -0
- data/spec/spec_helper.rb +42 -0
- data.tar.gz.sig +0 -0
- metadata +7 -112
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fda3c8ce5cf2522c3484d1320cf0a9c0699babc2cf5a798f33a62836bf22960
|
4
|
+
data.tar.gz: e4481b5da767e640461569f54dc0488ac2f55e8a8bb01df7e1243345140871e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9c34c10421251e18abc582522669a6292f831fe1fdee1cd97d8edbe7fb1ae9812fd74698b8e3ea02aee94b90cbd645c385df7ff832f1da2a30acc12e226dcb1
|
7
|
+
data.tar.gz: 76d58f7a643749eb22c38e04b2d6c5e2cac97ba98b1233a2c7813d2c534523ba58f5eb0583358c0578f8e60a7b6fd34eb45f6ffd1f643896f6884377776a6481
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -1,9 +1,9 @@
|
|
1
|
-
Closes: #
|
1
|
+
# Closes: #
|
2
2
|
|
3
|
-
|
3
|
+
## Goal
|
4
4
|
What problem does this pull request solve? This should be close to the goal of the issue this pull request addresses.
|
5
5
|
|
6
|
-
|
6
|
+
## Approach
|
7
7
|
1. **Describe, in numbered steps, the approach you chose** to solve the above problem.
|
8
8
|
1. This will help code reviewers get oriented quickly.
|
9
9
|
2. It will also document for future maintainers exactly what changed (and why) when this PR was merged.
|
data/.github/workflows/test.yml
CHANGED
@@ -27,9 +27,16 @@ jobs:
|
|
27
27
|
mongodb-version: '4.4'
|
28
28
|
- name: Run tests
|
29
29
|
run: bundle exec rake
|
30
|
-
- name:
|
30
|
+
- name: Send Code Climate coverage
|
31
|
+
uses: amancevice/setup-code-climate@v0
|
32
|
+
with:
|
33
|
+
cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }}
|
34
|
+
- run: cc-test-reporter after-build --coverage-input-type lcov
|
35
|
+
- name: Send Coveralls coverage
|
31
36
|
uses: coverallsapp/github-action@master
|
32
37
|
with:
|
33
38
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
34
|
-
- name:
|
39
|
+
- name: Run RuboCop
|
35
40
|
run: bundle exec rubocop
|
41
|
+
- name: Run Inch
|
42
|
+
run: bundle exec inch --pedantic
|
data/CONTRIBUTING.md
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
## **New to open-source?**
|
4
4
|
|
5
|
-
Try your hand at one of the small tasks ideal for new or casual contributors that are [up-for-grabs](https://github.com/
|
5
|
+
Try your hand at one of the small tasks ideal for new or casual contributors that are [up-for-grabs](https://github.com/FoveaCentral/hit_counter/issues?q=is%3Aissue+is%3Aopen+label%3Aup-for-grabs). Welcome to the community!
|
6
6
|
|
7
7
|
## **Did you find a bug?**
|
8
8
|
|
9
|
-
1. **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/
|
9
|
+
1. **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/FoveaCentral/hit_counter/issues).
|
10
10
|
|
11
|
-
2. If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/
|
11
|
+
2. If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/FoveaCentral/hit_counter/issues/new/choose). Be sure to include:
|
12
12
|
1. a **title and clear description**
|
13
13
|
2. as much **relevant information** as possible
|
14
14
|
3. a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
|
@@ -21,7 +21,7 @@ Try your hand at one of the small tasks ideal for new or casual contributors tha
|
|
21
21
|
|
22
22
|
3. **Update the inline documentation.** Format it with [YARD](https://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md). For example, see [`HitCounter.get`](../lib/hit_counter/hit_counter.rb).
|
23
23
|
|
24
|
-
4. [Open a pull request](https://github.com/
|
24
|
+
4. [Open a pull request](https://github.com/FoveaCentral/hit_counter/compare) with the patch or feature. Follow the template's directions.
|
25
25
|
|
26
26
|
## Developer Certificate of Origin (DCO)
|
27
27
|
|
data/Gemfile
CHANGED
@@ -2,3 +2,13 @@
|
|
2
2
|
|
3
3
|
source 'https://rubygems.org'
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'inch', '~> 0.8'
|
7
|
+
gem 'pry', '~> 0.14.1'
|
8
|
+
gem 'rake', '>= 12.3.3', '~> 13.0'
|
9
|
+
gem 'rspec', '~> 3'
|
10
|
+
gem 'rubocop', '< 1.24'
|
11
|
+
gem 'rubocop-rake', '~> 0'
|
12
|
+
gem 'rubocop-rspec', '~> 2'
|
13
|
+
gem 'simplecov', '~> 0.18'
|
14
|
+
gem 'simplecov-lcov', '~> 0.8'
|
data/README.md
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
# HitCounter
|
2
2
|
|
3
|
-
](https://inch-ci.org/github/ivanoblomov/hit_counter)
|
3
|
+
[](https://github.com/FoveaCentral/hit_counter/actions/workflows/test.yml)
|
4
|
+
[](https://codeclimate.com/github/FoveaCentral/hit_counter)
|
5
|
+
[](https://coveralls.io/github/FoveaCentral/hit_counter?branch=master)
|
7
6
|
[](https://bestpractices.coreinfrastructure.org/projects/5375)
|
8
7
|
[](https://badge.fury.io/rb/hit_counter)
|
9
8
|
|
10
|
-
Ruby version of that old 90s chestnut, `<BLINK>`the web-site hit counter`</BLINK>`.
|
9
|
+
Self-hosted Ruby version of that old 90s chestnut, `<BLINK>`the web-site hit counter`</BLINK>`.
|
11
10
|
|
12
11
|
## Installation
|
13
12
|
|
@@ -30,7 +29,7 @@ Ruby version of that old 90s chestnut, `<BLINK>`the web-site hit counter`</BLINK
|
|
30
29
|
`HitCounter` is cryptographically signed. To insure the gem you install hasn’t been tampered with, add my public key as a trusted certificate and then install:
|
31
30
|
|
32
31
|
```sh
|
33
|
-
gem cert --add <(curl -Ls https://raw.github.com/
|
32
|
+
gem cert --add <(curl -Ls https://raw.github.com/FoveaCentral/hit_counter/master/certs/ivanoblomov.pem)
|
34
33
|
gem install hit_counter -P HighSecurity
|
35
34
|
```
|
36
35
|
|
@@ -61,6 +60,12 @@ Ruby version of that old 90s chestnut, `<BLINK>`the web-site hit counter`</BLINK
|
|
61
60
|
# technically should be POST/PUT, but GET makes integration simpler
|
62
61
|
````
|
63
62
|
|
63
|
+
3. Add the hit-counter image tag to your site's HTML:
|
64
|
+
|
65
|
+
```html
|
66
|
+
<img alt="Hit Counter" border="0" src="/hit-counter?url=https://cnn.com&style=1" />
|
67
|
+
````
|
68
|
+
|
64
69
|
Or try it out in `irb` with:
|
65
70
|
|
66
71
|
```ruby
|
@@ -68,17 +73,11 @@ require './spec/spec_helper'
|
|
68
73
|
hc = HitCounter.get('cnn.com')
|
69
74
|
```
|
70
75
|
|
71
|
-
3. Add the hit-counter image tag to your site's HTML:
|
72
|
-
|
73
|
-
```html
|
74
|
-
<img alt="Hit Counter" border="0" src="/hit-counter?url=https://cnn.com&style=1" />
|
75
|
-
````
|
76
|
-
|
77
76
|
## Customizing the Hit-Counter Image
|
78
77
|
|
79
78
|
### Use an Existing Style
|
80
79
|
|
81
|
-
| Name |
|
80
|
+
| Name | Style number |
|
82
81
|
| -------- | --------------------------------------------------------------------- |
|
83
82
|
| Celtic |  |
|
84
83
|
| Odometer |  |
|
data/Rakefile
CHANGED
@@ -3,6 +3,19 @@
|
|
3
3
|
require 'bundler'
|
4
4
|
require 'bundler/gem_tasks'
|
5
5
|
require 'rspec/core/rake_task'
|
6
|
+
|
7
|
+
def load_rake_tasks
|
8
|
+
Dir.glob('./lib/tasks/**/*.rake').each { |f| import f }
|
9
|
+
end
|
10
|
+
load_rake_tasks
|
11
|
+
|
12
|
+
if defined? Rails
|
13
|
+
# override Rails to include tasks
|
14
|
+
class Railtie < Rails::Railtie
|
15
|
+
rake_tasks { load_rake_tasks }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
6
19
|
RSpec::Core::RakeTask.new(:test) do |t|
|
7
20
|
t.pattern = 'spec/*/*_spec.rb'
|
8
21
|
t.verbose = false
|
data/SECURITY.md
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
## Supported Versions
|
4
4
|
|
5
|
-
[Dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates) automatically [patches known vulnerabilities](https://github.com/
|
5
|
+
[Dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates) automatically [patches known vulnerabilities](https://github.com/FoveaCentral/hit_counter/pulls?q=is%3Apr+is%3Aclosed+author%3Aapp%2Fdependabot).
|
6
6
|
|
7
7
|
| Version | Supported |
|
8
8
|
| ------- | ------------------ |
|
9
|
-
| 0.1.
|
10
|
-
| < 0.1.
|
9
|
+
| 0.1.5 | :white_check_mark: |
|
10
|
+
| < 0.1.5 | :x: |
|
11
11
|
|
12
12
|
## Reporting a Vulnerability
|
13
13
|
|
14
|
-
1. To report a security vulnerability, [open an issue](https://github.com/
|
14
|
+
1. To report a security vulnerability, [open an issue](https://github.com/FoveaCentral/hit_counter/issues/new/choose).
|
15
15
|
2. Updates are made within 48 hours.
|
16
16
|
3. If the vulnerability is accepted, we'll try to patch it within a week.
|
data/hit_counter.gemspec
CHANGED
@@ -4,33 +4,22 @@ require File.expand_path 'lib/version', __dir__
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'hit_counter'
|
6
6
|
s.version = HitCounter::VERSION.dup
|
7
|
-
s.summary = 'Ruby version of that old 90s chestnut, the web-site hit counter.'
|
7
|
+
s.summary = 'Self-hosted Ruby version of that old 90s chestnut, the web-site hit counter.'
|
8
8
|
s.description = 'Why roast this chestnut by that open fire, you ask? Cause '\
|
9
9
|
'thousands and thousands of Internet vets are still using the one we '\
|
10
10
|
"wrote in PHP eons ago and we don't want to be squandering any incidental "\
|
11
11
|
"Google juice, that's why."
|
12
|
-
s.homepage = 'https://github.com/
|
12
|
+
s.homepage = 'https://github.com/FoveaCentral/hit_counter'
|
13
13
|
s.authors = ['Roderick Monje']
|
14
14
|
s.cert_chain = ['certs/ivanoblomov.pem']
|
15
15
|
s.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
|
16
16
|
|
17
|
-
s.add_development_dependency 'rake', '>= 12.3.3', '~> 13.0'
|
18
|
-
s.add_development_dependency 'rspec', '~> 3'
|
19
|
-
s.add_development_dependency 'rubocop', '< 1.24'
|
20
|
-
s.add_development_dependency 'rubocop-rake', '~> 0'
|
21
|
-
s.add_development_dependency 'rubocop-rspec', '~> 2'
|
22
|
-
s.add_development_dependency 'simplecov', '~> 0.18'
|
23
|
-
s.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
24
|
-
|
25
17
|
s.add_runtime_dependency 'addressable', '~> 2'
|
26
18
|
s.add_runtime_dependency 'bson_ext', '~> 1'
|
27
19
|
s.add_runtime_dependency 'mongoid', '~> 7'
|
28
20
|
s.add_runtime_dependency 'rmagick', '>= 2', '< 5'
|
29
21
|
|
30
22
|
s.files = `git ls-files`.split "\n"
|
31
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split "\n"
|
32
|
-
s.executables = `git ls-files -- bin/*`.split("\n")
|
33
|
-
.map { |f| File.basename f }
|
34
23
|
s.require_paths = ['lib']
|
35
24
|
s.required_ruby_version = '>= 2.5'
|
36
25
|
end
|
data/lib/hit_counter.rb
CHANGED
@@ -6,7 +6,7 @@ require 'rubygems'
|
|
6
6
|
require 'bundler/setup'
|
7
7
|
Bundler.require :default
|
8
8
|
|
9
|
-
# Ruby version of that old 90s chestnut, <BLINK>the web-site hit counter</BLINK>
|
9
|
+
# Self-hosted Ruby version of that old 90s chestnut, <BLINK>the web-site hit counter</BLINK>
|
10
10
|
#
|
11
11
|
# @example
|
12
12
|
# hc = HitCounter.get 'cnn.com'
|
@@ -24,6 +24,8 @@ class HitCounter
|
|
24
24
|
# If the URI library can parse the value and the scheme is valid, then we
|
25
25
|
# assume the url is valid.
|
26
26
|
class UrlValidator < ActiveModel::EachValidator
|
27
|
+
private
|
28
|
+
|
27
29
|
def validate_each(record, attribute, value)
|
28
30
|
uri = Addressable::URI.parse value
|
29
31
|
raise Addressable::URI::InvalidURIError unless %w[http https].include?(
|
@@ -55,6 +57,18 @@ class HitCounter
|
|
55
57
|
find_or_create_by args
|
56
58
|
end
|
57
59
|
|
60
|
+
# Installs the required Mongoid configuration and image files.
|
61
|
+
#
|
62
|
+
# @return true
|
63
|
+
# @example
|
64
|
+
# HitCounter.install
|
65
|
+
def self.install
|
66
|
+
puts 'Configuring Mongoid and installing image files...'
|
67
|
+
full_gem_path = Gem::Specification.find_by_name('hit_counter').full_gem_path
|
68
|
+
system "rsync -ruv #{full_gem_path}/config ."
|
69
|
+
system "rsync -ruv #{full_gem_path}/public ."
|
70
|
+
end
|
71
|
+
|
58
72
|
# Instance methods: Overrides ================================================
|
59
73
|
|
60
74
|
# Sets the number of hits.
|
@@ -104,6 +118,7 @@ class HitCounter
|
|
104
118
|
save
|
105
119
|
end
|
106
120
|
|
121
|
+
# Defines the available image styles as an array. Add yours to the end.
|
107
122
|
STYLES = %w[odometer scout celtic].freeze
|
108
123
|
|
109
124
|
private_class_method def self.cat_image(number, style_index, images = Magick::ImageList.new)
|
@@ -127,21 +142,3 @@ class HitCounter
|
|
127
142
|
value !~ %r{^http://} ? "http://#{value}" : value
|
128
143
|
end
|
129
144
|
end
|
130
|
-
|
131
|
-
if defined? Rails
|
132
|
-
# Overriding Rails to include install task
|
133
|
-
class Railtie < Rails::Railtie
|
134
|
-
rake_tasks do
|
135
|
-
namespace :hit_counter do
|
136
|
-
desc 'Install HitCounter into your app.'
|
137
|
-
task :install do
|
138
|
-
puts 'Installing required image files...'
|
139
|
-
system "rsync -ruv #{Gem.searcher.find('hit_counter').full_gem_path}"\
|
140
|
-
'/config .'
|
141
|
-
system "rsync -ruv #{Gem.searcher.find('hit_counter').full_gem_path}"\
|
142
|
-
'/public .'
|
143
|
-
end
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
end
|
data/lib/version.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Ruby version of that old 90s chestnut, <BLINK>the web-site hit counter</BLINK>
|
3
|
+
# Self-hosted Ruby version of that old 90s chestnut, <BLINK>the web-site hit counter</BLINK>
|
4
4
|
class HitCounter
|
5
|
-
|
5
|
+
# This gem's version
|
6
|
+
VERSION = '0.1.5' unless defined?(HitCounter::VERSION)
|
6
7
|
end
|
@@ -56,6 +56,13 @@ describe HitCounter do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
|
+
describe '.install' do
|
60
|
+
before do
|
61
|
+
expect_any_instance_of(Object).to receive(:system).twice.with match(/config|public/)
|
62
|
+
end
|
63
|
+
|
64
|
+
it('copies configuration files and images') { described_class.install }
|
65
|
+
end
|
59
66
|
describe '#hits' do
|
60
67
|
it { expect(subject.hits).to eq 0 }
|
61
68
|
|
data/spec/spec_helper.rb
CHANGED
@@ -19,3 +19,45 @@ module Rails
|
|
19
19
|
'.'
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
require 'rake'
|
24
|
+
|
25
|
+
# load rake tasks
|
26
|
+
# https://dev.to/cassidycodes/how-to-test-rake-tasks-with-rspec-without-rails-3mhb
|
27
|
+
module TaskFormat
|
28
|
+
extend ActiveSupport::Concern
|
29
|
+
included do
|
30
|
+
let(:task_name) { self.class.top_level_description.sub(/\Arake /, '') }
|
31
|
+
let(:tasks) { Rake::Task }
|
32
|
+
# Make the Rake task available as `task` in your examples:
|
33
|
+
subject(:task) { tasks[task_name] }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
RSpec.configure do |config|
|
38
|
+
config.before(:suite) do
|
39
|
+
Dir.glob('lib/tasks/*.rake').each { |r| Rake::DefaultLoader.new.load r }
|
40
|
+
end
|
41
|
+
|
42
|
+
# Tag Rake specs with `:task` metadata or put them in the spec/tasks dir
|
43
|
+
config.define_derived_metadata(file_path: %r{/spec/tasks/}) do |metadata|
|
44
|
+
metadata[:type] = :task
|
45
|
+
end
|
46
|
+
|
47
|
+
config.include TaskFormat, type: :task
|
48
|
+
end
|
49
|
+
|
50
|
+
# silence output
|
51
|
+
RSpec.configure do |config|
|
52
|
+
original_stderr = $stderr
|
53
|
+
original_stdout = $stdout
|
54
|
+
config.before(:all) do
|
55
|
+
# Redirect stderr and stdout
|
56
|
+
$stderr = File.open(File::NULL, 'w')
|
57
|
+
$stdout = File.open(File::NULL, 'w')
|
58
|
+
end
|
59
|
+
config.after(:all) do
|
60
|
+
$stderr = original_stderr
|
61
|
+
$stdout = original_stdout
|
62
|
+
end
|
63
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hit_counter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roderick Monje
|
@@ -34,112 +34,8 @@ cert_chain:
|
|
34
34
|
G5iWAeYsmSjJxz7iOZOsx+vPCwMy7j6nWF2CDbaxioGR/hIqNbVBveCCRyjyunD3
|
35
35
|
kvv576EuULmQcLpOKwB3RlxAG7j8JJl4ueqjF+rz7x1lBqEU
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2021-
|
37
|
+
date: 2021-12-08 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
|
-
- !ruby/object:Gem::Dependency
|
40
|
-
name: rake
|
41
|
-
requirement: !ruby/object:Gem::Requirement
|
42
|
-
requirements:
|
43
|
-
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 12.3.3
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '13.0'
|
49
|
-
type: :development
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 12.3.3
|
56
|
-
- - "~>"
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
version: '13.0'
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: rspec
|
61
|
-
requirement: !ruby/object:Gem::Requirement
|
62
|
-
requirements:
|
63
|
-
- - "~>"
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '3'
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: !ruby/object:Gem::Requirement
|
69
|
-
requirements:
|
70
|
-
- - "~>"
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: '3'
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: rubocop
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
77
|
-
- - "<"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.24'
|
80
|
-
type: :development
|
81
|
-
prerelease: false
|
82
|
-
version_requirements: !ruby/object:Gem::Requirement
|
83
|
-
requirements:
|
84
|
-
- - "<"
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: '1.24'
|
87
|
-
- !ruby/object:Gem::Dependency
|
88
|
-
name: rubocop-rake
|
89
|
-
requirement: !ruby/object:Gem::Requirement
|
90
|
-
requirements:
|
91
|
-
- - "~>"
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
type: :development
|
95
|
-
prerelease: false
|
96
|
-
version_requirements: !ruby/object:Gem::Requirement
|
97
|
-
requirements:
|
98
|
-
- - "~>"
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '0'
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: rubocop-rspec
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
-
requirements:
|
105
|
-
- - "~>"
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: '2'
|
108
|
-
type: :development
|
109
|
-
prerelease: false
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - "~>"
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: '2'
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: simplecov
|
117
|
-
requirement: !ruby/object:Gem::Requirement
|
118
|
-
requirements:
|
119
|
-
- - "~>"
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: '0.18'
|
122
|
-
type: :development
|
123
|
-
prerelease: false
|
124
|
-
version_requirements: !ruby/object:Gem::Requirement
|
125
|
-
requirements:
|
126
|
-
- - "~>"
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: '0.18'
|
129
|
-
- !ruby/object:Gem::Dependency
|
130
|
-
name: simplecov-lcov
|
131
|
-
requirement: !ruby/object:Gem::Requirement
|
132
|
-
requirements:
|
133
|
-
- - "~>"
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: '0.8'
|
136
|
-
type: :development
|
137
|
-
prerelease: false
|
138
|
-
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
requirements:
|
140
|
-
- - "~>"
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: '0.8'
|
143
39
|
- !ruby/object:Gem::Dependency
|
144
40
|
name: addressable
|
145
41
|
requirement: !ruby/object:Gem::Requirement
|
@@ -232,6 +128,7 @@ files:
|
|
232
128
|
- config/mongoid.yml
|
233
129
|
- hit_counter.gemspec
|
234
130
|
- lib/hit_counter.rb
|
131
|
+
- lib/tasks/install.rake
|
235
132
|
- lib/version.rb
|
236
133
|
- public/images/digits/celtic/0.png
|
237
134
|
- public/images/digits/celtic/1.png
|
@@ -265,7 +162,7 @@ files:
|
|
265
162
|
- public/images/digits/scout/9.png
|
266
163
|
- spec/lib/hit_counter_spec.rb
|
267
164
|
- spec/spec_helper.rb
|
268
|
-
homepage: https://github.com/
|
165
|
+
homepage: https://github.com/FoveaCentral/hit_counter
|
269
166
|
licenses: []
|
270
167
|
metadata: {}
|
271
168
|
post_install_message:
|
@@ -283,10 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
180
|
- !ruby/object:Gem::Version
|
284
181
|
version: '0'
|
285
182
|
requirements: []
|
286
|
-
rubygems_version: 3.1.
|
183
|
+
rubygems_version: 3.1.6
|
287
184
|
signing_key:
|
288
185
|
specification_version: 4
|
289
|
-
summary: Ruby version of that old 90s chestnut, the web-site hit counter.
|
290
|
-
test_files:
|
291
|
-
- spec/lib/hit_counter_spec.rb
|
292
|
-
- spec/spec_helper.rb
|
186
|
+
summary: Self-hosted Ruby version of that old 90s chestnut, the web-site hit counter.
|
187
|
+
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|