hit_counter 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
![Build status](https://github.com/
|
4
|
-
[![Code Climate](https://codeclimate.com/github/
|
5
|
-
[![Coveralls](https://coveralls.io/repos/
|
6
|
-
[![Inch CI](https://inch-ci.org/github/ivanoblomov/hit_counter.svg?branch=master&style=flat)](https://inch-ci.org/github/ivanoblomov/hit_counter)
|
3
|
+
[![Build status](https://github.com/FoveaCentral/hit_counter/workflows/test/badge.svg)](https://github.com/FoveaCentral/hit_counter/actions/workflows/test.yml)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/FoveaCentral/hit_counter.svg)](https://codeclimate.com/github/FoveaCentral/hit_counter)
|
5
|
+
[![Coveralls](https://coveralls.io/repos/FoveaCentral/hit_counter/badge.svg?branch=master&service=github)](https://coveralls.io/github/FoveaCentral/hit_counter?branch=master)
|
7
6
|
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5375/badge)](https://bestpractices.coreinfrastructure.org/projects/5375)
|
8
7
|
[![Gem Version](https://badge.fury.io/rb/hit_counter.svg)](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 | ![image of 3 in celtic style](/public/images/digits/celtic/3.png) |
|
84
83
|
| Odometer | ![image of 1 in odometer style](/public/images/digits/odometer/1.png) |
|
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
|