mongoid_traffic 0.1.0 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 260b37762762b8a339f5d105b27669f02f334aa7
4
- data.tar.gz: 1d88427a3c295874d9919c6e82c2c2dbbf63db9e
3
+ metadata.gz: f2c00bbcb80356f2546b251e0f48a2863dd8bfcc
4
+ data.tar.gz: b8ee6c7cece3700d385118cbb0f3fbd925065047
5
5
  SHA512:
6
- metadata.gz: 6529fe616f86a44d7b2d52b5e7cea49ff117408b9e8ad013f46cecfcad4f042a7b9fa202c60fdef8222b0ff66addd75afa021e05d5fb17a51d4f9b382383ca4a
7
- data.tar.gz: 484d9a993fe2e1c11cc89ddb077f84c7935f03dbd861a024f63ab4f72179171e99297c6e681cc87ca02cf224d497baa4afb15e49508150021b9ac32b7a1c78a7
6
+ metadata.gz: a2026efe6cee6b0f1e491d914daf4d6c8f32b73edb5da304398148643865b5b193b8c4c97a0a8f33462c74c467c94108be8add4cf6b6aab724f665b105d2c387
7
+ data.tar.gz: be0c1960d5d52002398e556ff397480dfac95dceb8c64c0a7aae4624208d1c2e67c06c439367fa27538858b6a2ecc48e0c6b77e6b7ee3ee2c64bd7059a831c96
data/Gemfile CHANGED
@@ -2,3 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in mongoid_permalink_extension.gemspec
4
4
  gemspec
5
+
6
+ # TEMP
7
+ group :test do
8
+ gem 'database_cleaner', git: 'https://github.com/DatabaseCleaner/database_cleaner.git'
9
+ end
data/Gemfile.lock CHANGED
@@ -1,41 +1,45 @@
1
+ GIT
2
+ remote: https://github.com/DatabaseCleaner/database_cleaner.git
3
+ revision: b87f00320f8aa0f7e499d183128f05ce29cedc33
4
+ specs:
5
+ database_cleaner (1.5.1)
6
+
1
7
  PATH
2
8
  remote: .
3
9
  specs:
4
- mongoid_traffic (0.1.0)
10
+ mongoid_traffic (0.2.0)
5
11
  geoip
6
- mongoid (~> 4.0)
12
+ mongoid (~> 5.0)
7
13
  nokogiri
8
14
  useragent (~> 0.10.0)
9
15
 
10
16
  GEM
11
17
  remote: https://rubygems.org/
12
18
  specs:
13
- activemodel (4.2.0)
14
- activesupport (= 4.2.0)
19
+ activemodel (4.2.4)
20
+ activesupport (= 4.2.4)
15
21
  builder (~> 3.1)
16
- activesupport (4.2.0)
22
+ activesupport (4.2.4)
17
23
  i18n (~> 0.7)
18
24
  json (~> 1.7, >= 1.7.7)
19
25
  minitest (~> 5.1)
20
26
  thread_safe (~> 0.3, >= 0.3.4)
21
27
  tzinfo (~> 1.1)
22
- bson (2.3.0)
28
+ bson (3.2.4)
23
29
  builder (3.2.2)
24
30
  celluloid (0.15.2)
25
31
  timers (~> 1.1.0)
26
32
  coderay (1.1.0)
27
- connection_pool (2.1.0)
28
33
  coveralls (0.7.0)
29
34
  multi_json (~> 1.3)
30
35
  rest-client
31
36
  simplecov (>= 0.7)
32
37
  term-ansicolor
33
38
  thor
34
- database_cleaner (1.3.0)
35
39
  docile (1.1.5)
36
40
  ffi (1.9.3)
37
41
  formatador (0.2.5)
38
- geoip (1.4.0)
42
+ geoip (1.6.1)
39
43
  guard (2.6.1)
40
44
  formatador (>= 0.2.4)
41
45
  listen (~> 2.7)
@@ -46,7 +50,7 @@ GEM
46
50
  guard (~> 2.0)
47
51
  minitest (>= 3.0)
48
52
  i18n (0.7.0)
49
- json (1.8.1)
53
+ json (1.8.3)
50
54
  listen (2.7.9)
51
55
  celluloid (>= 0.15.2)
52
56
  rb-fsevent (>= 0.9.3)
@@ -54,22 +58,19 @@ GEM
54
58
  lumberjack (1.0.9)
55
59
  method_source (0.8.2)
56
60
  mime-types (1.25.1)
57
- mini_portile (0.6.1)
61
+ mini_portile (0.6.2)
58
62
  minitest (5.4.0)
59
- mongoid (4.0.0)
63
+ mongo (2.1.1)
64
+ bson (~> 3.0)
65
+ mongoid (5.0.0)
60
66
  activemodel (~> 4.0)
61
- moped (~> 2.0.0)
67
+ mongo (~> 2.1)
62
68
  origin (~> 2.1)
63
69
  tzinfo (>= 0.3.37)
64
- moped (2.0.2)
65
- bson (~> 2.2)
66
- connection_pool (~> 2.0)
67
- optionable (~> 0.2.0)
68
70
  multi_json (1.10.1)
69
71
  netrc (0.7.7)
70
- nokogiri (1.6.5)
72
+ nokogiri (1.6.6.2)
71
73
  mini_portile (~> 0.6.0)
72
- optionable (0.2.0)
73
74
  origin (2.1.1)
74
75
  pry (0.10.0)
75
76
  coderay (~> 1.1.0)
@@ -91,7 +92,7 @@ GEM
91
92
  term-ansicolor (1.3.0)
92
93
  tins (~> 1.0)
93
94
  thor (0.19.1)
94
- thread_safe (0.3.4)
95
+ thread_safe (0.3.5)
95
96
  timers (1.1.0)
96
97
  tins (1.3.1)
97
98
  tzinfo (1.2.2)
@@ -104,7 +105,7 @@ PLATFORMS
104
105
  DEPENDENCIES
105
106
  bundler (~> 1.3)
106
107
  coveralls
107
- database_cleaner
108
+ database_cleaner!
108
109
  guard
109
110
  guard-minitest
110
111
  minitest
@@ -13,14 +13,14 @@ module MongoidTraffic
13
13
  TIME_SCOPE_OPTIONS = %i(year month week day)
14
14
 
15
15
  # ---------------------------------------------------------------------
16
-
16
+
17
17
  def self.log log_cls, *args
18
18
  new(log_cls, *args).log
19
19
  end
20
20
 
21
21
  # ---------------------------------------------------------------------
22
22
 
23
- def initialize log_cls, ip_address: nil, referer: nil, scope: nil, time_scope: %i(month day), unique_id: nil, user_agent: nil
23
+ def initialize log_cls, ip_address: nil, referer: nil, scope: nil, time_scope: %i(month day), unique_id: nil, user_agent: nil
24
24
  @log_cls = log_cls
25
25
  @ip_address = ip_address
26
26
  @referer_string = referer
@@ -35,14 +35,14 @@ module MongoidTraffic
35
35
  raise "Invalid time scope definition: #{@time_scope}" unless @time_scope.all?{ |ts| TIME_SCOPE_OPTIONS.include?(ts) }
36
36
 
37
37
  @time_scope.each do |ts|
38
- @log_cls.collection.find( find_query(ts) ).upsert( upsert_query )
38
+ @log_cls.collection.find( find_query(ts) ).update_many( upsert_query, upsert: true )
39
39
  end
40
40
  end
41
41
 
42
42
  # ---------------------------------------------------------------------
43
43
 
44
44
  def upsert_query
45
- {
45
+ {
46
46
  '$inc' => access_count_query.
47
47
  merge(browser_query).
48
48
  merge(country_query).
@@ -84,7 +84,7 @@ module MongoidTraffic
84
84
  end
85
85
 
86
86
  # ---------------------------------------------------------------------
87
-
87
+
88
88
  def escape_key key
89
89
  CGI::escape(key).gsub('.', '%2E')
90
90
  end
@@ -110,7 +110,7 @@ module MongoidTraffic
110
110
  end
111
111
 
112
112
  private # =============================================================
113
-
113
+
114
114
  def browser
115
115
  return unless @user_agent_string.present?
116
116
  @browser ||= Browser.new(@user_agent_string)
@@ -1,3 +1,3 @@
1
1
  module MongoidTraffic
2
- VERSION = "0.1.0"
3
- end
2
+ VERSION = "0.2.0"
3
+ end
@@ -6,7 +6,7 @@ require 'mongoid_traffic/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "mongoid_traffic"
8
8
  spec.version = MongoidTraffic::VERSION
9
- spec.authors = ["Tomas Celizna"]
9
+ spec.authors = ["Tomáš Celizna"]
10
10
  spec.email = ["tomas.celizna@gmail.com"]
11
11
  spec.description = %q{Aggregated traffic logs stored in MongoDB.}
12
12
  spec.summary = %q{Aggregated traffic logs stored in MongoDB.}
@@ -19,15 +19,15 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "geoip"
22
- spec.add_dependency "mongoid", "~> 4.0"
22
+ spec.add_dependency "mongoid", "~> 5.0"
23
23
  spec.add_dependency "nokogiri"
24
24
  spec.add_dependency "useragent", "~> 0.10.0"
25
25
 
26
26
  spec.add_development_dependency "bundler", "~> 1.3"
27
27
  spec.add_development_dependency "coveralls"
28
- spec.add_development_dependency "database_cleaner"
28
+ spec.add_development_dependency "database_cleaner", ">= 1.5.1"
29
29
  spec.add_development_dependency "guard"
30
30
  spec.add_development_dependency "guard-minitest"
31
31
  spec.add_development_dependency "minitest"
32
32
  spec.add_development_dependency "rake"
33
- end
33
+ end
data/test/test_helper.rb CHANGED
@@ -11,27 +11,8 @@ if ENV["CI"]
11
11
  Coveralls.wear!
12
12
  end
13
13
 
14
- ENV["MONGOID_TEST_HOST"] ||= "localhost"
15
- ENV["MONGOID_TEST_PORT"] ||= "27017"
16
-
17
- HOST = ENV["MONGOID_TEST_HOST"]
18
- PORT = ENV["MONGOID_TEST_PORT"].to_i
19
-
20
- def database_id
21
- "mongoid_traffic_test"
22
- end
23
-
24
- CONFIG = {
25
- sessions: {
26
- default: {
27
- database: database_id,
28
- hosts: [ "#{HOST}:#{PORT}" ]
29
- }
30
- }
31
- }
32
-
33
14
  Mongoid.configure do |config|
34
- config.load_configuration(CONFIG)
15
+ config.connect_to('mongoid_traffic_test')
35
16
  end
36
17
 
37
18
  DatabaseCleaner.orm = :mongoid
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_traffic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - Tomas Celizna
7
+ - Tomáš Celizna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-04 00:00:00.000000000 Z
11
+ date: 2015-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: geoip
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '5.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.0'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nokogiri
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 1.5.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 1.5.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: guard
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  version: '0'
222
222
  requirements: []
223
223
  rubyforge_project:
224
- rubygems_version: 2.2.2
224
+ rubygems_version: 2.4.8
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: Aggregated traffic logs stored in MongoDB.