statlysis 0.0.7 → 0.1.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 +7 -0
- data/.travis.yml +7 -0
- data/README.markdown +14 -8
- data/lib/statlysis/multiple_dataset/mongoid.rb +1 -1
- data/statlysis.gemspec +4 -3
- data/test/config/mongoid.yml +0 -14
- data/test/helper.rb +4 -16
- data/test/migrate/1_active_record.rb +1 -1
- data/test/models/eoe_log.rb +2 -2
- data/test/test_generally_count.rb +2 -6
- data/test/test_mapreduce.rb +1 -1
- metadata +57 -73
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 09b1a9957e7a2b7e144bf0a63f88a6cac2f6aa7c
|
|
4
|
+
data.tar.gz: 987032aa739109073dca9d0ff45e593eb4703ef0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: ff32e0d21b51a3d0896ddfa95998a5215dc122ea44e70ecbf9b8582dd1b13c571eac553657da42ef88527e5fa9496c87e9fc10f7adfaa314c96999c9c0943b91
|
|
7
|
+
data.tar.gz: 03f3d2d734dea769a53ac40686cb7e6907e3852a1643e9dbfee8bb046805d85bb31bbf3052db60c72a61e8027b10ee3c0a4e7b72bde458da33a866c4af8e3199
|
data/.travis.yml
ADDED
data/README.markdown
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
Statlysis
|
|
1
|
+
Statlysis [](https://travis-ci.org/mvj3/statlysis)
|
|
2
2
|
===============================================
|
|
3
3
|
Statistical and analysis in Ruby DSL, just as simple as SQL operations in ActiveRecord.
|
|
4
4
|
|
|
5
|
+
Usage
|
|
6
|
+
-----------------------------------------------
|
|
7
|
+
见下面的 [成功案例](#成功案例) 的配置文件 和 [手把手操作示例](http://mvj3.github.io/statlysis/showterm.html) 。
|
|
8
|
+
|
|
5
9
|
项目来由,理念,和使用说明
|
|
6
10
|
-----------------------------------------------
|
|
7
11
|
该项目起因是为eoe.cn做一套统计后台,而其构思来自于2012上半年做 [Android优亿市场数据采集分析系统](http://mvj3.github.io/2012/11/01/android_eoemarket_data_collect_and_analysis_system_summary/) 时的一些经验和心得,在2013年上半年完成了架构和大部分代码,支持ActiveRecord和Mongoid两个ORM。下半年在阳光书屋加上了对Mongoid的MapReduce支持。
|
|
@@ -32,15 +36,17 @@ MongoDB作为NoSQL数据库,它是为 **单collection** 里读写 **单个记
|
|
|
32
36
|
* eoe.cn各子网站的页面访问统计,和包含多个条件的数据库表每日数据统计,详情见 [示例配置文件](https://github.com/mvj3/statlysis/blob/master/examples/eoecn.rb) ,按日期维度分。
|
|
33
37
|
* 阳光书屋的学习提高班的关于做题情况的统计分析,详情见 [示例配置文件](https://github.com/mvj3/statlysis/blob/master/examples/sunshinelibrary.rb) ,按班级维度分。
|
|
34
38
|
|
|
35
|
-
Usage
|
|
36
|
-
-----------------------------------------------
|
|
37
|
-
见上面的 [成功案例](#成功案例) 的配置文件 和 [手把手操作示例](http://mvj3.github.io/statlysis/showterm.html) 。
|
|
38
|
-
|
|
39
39
|
Features
|
|
40
40
|
-----------------------------------------------
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
1. 支持Mongoid和ActiveRecord两种ORM,其中Mongoid以MapReduce方式统计,ActiveRecord基于纯SQL操作。
|
|
42
|
+
2. 对统计结果进行SQL索引,以支持高效访问。
|
|
43
|
+
3. 支持单行DSL配置,链式风格。
|
|
44
|
+
4. 支持跨表统计,需结构相同,表名按日期分割。
|
|
45
|
+
5. 依据统计需求自动配置统计结果的存储表,并支持条件查询,返回ORM统计表。
|
|
46
|
+
6. 支持任意维度统计,其中时间维度可选。
|
|
47
|
+
7. 单次统计里支持多个GroupConcat字段。
|
|
48
|
+
8. 支持最近统计的时间。
|
|
49
|
+
9. 支持以整数类型存储的时间字段,以兼容PHP社区的特别约定。
|
|
44
50
|
|
|
45
51
|
Statistical Process
|
|
46
52
|
-----------------------------------------------
|
|
@@ -32,7 +32,7 @@ module Statlysis
|
|
|
32
32
|
mongoid_models = _select_orm(Mongoid::Document)
|
|
33
33
|
|
|
34
34
|
_collections.select do |_collection|
|
|
35
|
-
_mongoid_model = mongoid_models.detect {|m| m.collection_name === _collection.name }
|
|
35
|
+
_mongoid_model = mongoid_models.detect {|m| "#{m.collection_name}" === _collection.name }
|
|
36
36
|
raise "Please define Mongoid model for #{_collection}.collection under ::Object namespace!" if _mongoid_model.nil?
|
|
37
37
|
mongoid_models.delete _mongoid_model
|
|
38
38
|
@sources.add _mongoid_model
|
data/statlysis.gemspec
CHANGED
|
@@ -4,8 +4,8 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = 'statlysis'
|
|
7
|
-
s.version = '0.0
|
|
8
|
-
s.date = '
|
|
7
|
+
s.version = '0.1.0'
|
|
8
|
+
s.date = '2015-04-19'
|
|
9
9
|
s.summary = File.read("README.markdown").split(/===+/)[1].strip.split("\n")[0]
|
|
10
10
|
s.description = s.summary
|
|
11
11
|
s.authors = ["David Chen"]
|
|
@@ -22,13 +22,14 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
s.add_dependency "rails"
|
|
23
23
|
s.add_dependency "mysql2"
|
|
24
24
|
if not ENV['RAILS4'] # current mongoid depend on activemodel (~> 3.1) 20130726
|
|
25
|
-
s.add_dependency "mongoid"
|
|
25
|
+
s.add_dependency "mongoid" #, ">= 4.0.0"
|
|
26
26
|
end
|
|
27
27
|
s.add_dependency "activerecord"
|
|
28
28
|
s.add_dependency "activerecord_idnamecache"
|
|
29
29
|
s.add_dependency "activesupport"
|
|
30
30
|
s.add_dependency "sequel"
|
|
31
31
|
s.add_dependency 'only_one_rake'
|
|
32
|
+
s.add_dependency 'json', '1.8.0'
|
|
32
33
|
s.add_dependency 'bson_ext'
|
|
33
34
|
s.add_dependency 'origin'
|
|
34
35
|
s.add_dependency 'short_inspect'
|
data/test/config/mongoid.yml
CHANGED
|
@@ -20,17 +20,3 @@ production:
|
|
|
20
20
|
# This defines a secondary session at a replica set.
|
|
21
21
|
# Here we put the Mongoid specific configuration options. These are explained
|
|
22
22
|
# in more detail next.
|
|
23
|
-
options:
|
|
24
|
-
allow_dynamic_fields: false
|
|
25
|
-
identity_map_enabled: true
|
|
26
|
-
include_root_in_json: true
|
|
27
|
-
include_type_for_serialization: true
|
|
28
|
-
# Note this can also be true if you want to preload everything, but this is
|
|
29
|
-
# almost never necessary. Most of the time set this to false.
|
|
30
|
-
preload_models:
|
|
31
|
-
# - Firefox
|
|
32
|
-
scope_overwrite_exception: true
|
|
33
|
-
raise_not_found_error: false
|
|
34
|
-
skip_version_check: false
|
|
35
|
-
use_activesupport_time_zone: false
|
|
36
|
-
use_utc: true
|
data/test/helper.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require File.join(ENV['HOME'], 'utils/ruby/irb') rescue nil
|
|
1
|
+
require File.join(ENV['HOME'], 'github/mvj3/utils/ruby/irb') rescue nil
|
|
2
2
|
require 'rubygems'
|
|
3
3
|
require 'bundler'
|
|
4
4
|
begin
|
|
@@ -44,25 +44,13 @@ csv.each do |row|
|
|
|
44
44
|
CodeGistMongoid.create! _h
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
def DateTime.now
|
|
48
|
+
return DateTime.parse("20130901")
|
|
49
|
+
end
|
|
55
50
|
|
|
56
51
|
(require 'pry-debugger';binding.pry) if ENV['DEBUG']
|
|
57
52
|
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
54
|
Statlysis.setup do
|
|
67
55
|
hourly EoeLog, :time_column => :t
|
|
68
56
|
|
data/test/models/eoe_log.rb
CHANGED
|
@@ -32,9 +32,9 @@ EoeLog.create
|
|
|
32
32
|
# NOTE: Object.const_set(name, Class.new {}) cause failed with error 16256: "Invalid ns [statlysis_mongoid_test.]",
|
|
33
33
|
# and cann't Mongoid.create data
|
|
34
34
|
eval("
|
|
35
|
-
class
|
|
35
|
+
class ::#{collection_class_name}
|
|
36
36
|
include Mongoid::Document
|
|
37
|
-
|
|
37
|
+
store_in collection: #{collection_name.to_json}
|
|
38
38
|
field :t, :type => DateTime
|
|
39
39
|
field :url, :type => String
|
|
40
40
|
index({t: -1}, {:background => true})
|
|
@@ -10,15 +10,11 @@ class TestGenerallyCount < Test::Unit::TestCase
|
|
|
10
10
|
|
|
11
11
|
def test_timely
|
|
12
12
|
o = @output.map {|i| i[:timely_c] }
|
|
13
|
-
|
|
14
|
-
assert r
|
|
13
|
+
assert o.uniq.count > 20
|
|
15
14
|
end
|
|
16
15
|
|
|
17
16
|
def test_totally
|
|
18
|
-
o = @output.map {|i| i[:totally_c] }
|
|
19
|
-
r = (o - [5,16,17,25,27,30,34,36,37,53,55,56,57,59,60,64,66,67,68,70,71,73,74,75,80,90,116,129,136,145,165,185,200,230,234,235,236,237,270,273,274,288,299,304,305,312,327,337,345,359,374,380,392,418,435,446,452,463,466,473,493,506,512,520,525,545,549,553,558,577,636,701,785,805,867,981,1050,1102,1163,1230,1384,1454,1455,1457,1458]).reject(&:zero?).blank?
|
|
20
|
-
assert r
|
|
21
17
|
assert_equal @output[-1][:totally_favcount_s].to_i, CodeGist.all.map(&:fav_count).reduce(:+)
|
|
22
18
|
end
|
|
23
19
|
|
|
24
|
-
end
|
|
20
|
+
end
|
data/test/test_mapreduce.rb
CHANGED
|
@@ -17,7 +17,7 @@ class TestMapReduce < Test::Unit::TestCase
|
|
|
17
17
|
|
|
18
18
|
# 测试更新最后执行时间的时钟
|
|
19
19
|
# TODO 可能移到其他地方
|
|
20
|
-
assert((cron.clock.current - before_time)
|
|
20
|
+
assert((cron.clock.current - before_time) >= 0) # compact with fake time
|
|
21
21
|
|
|
22
22
|
assert_equal cron.output.detect {|h| h[:author] == 'mvj3' }[:c].to_i, cron.multiple_dataset.sources.first.where(:author => 'mvj3').count
|
|
23
23
|
end
|
metadata
CHANGED
|
@@ -1,254 +1,237 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: statlysis
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.1.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- David Chen
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2015-04-19 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: rake
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - ">="
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '0'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- -
|
|
24
|
+
- - ">="
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
26
|
version: '0'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: rails
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- -
|
|
31
|
+
- - ">="
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
33
|
version: '0'
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
|
-
- -
|
|
38
|
+
- - ">="
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
40
|
version: '0'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: mysql2
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- -
|
|
45
|
+
- - ">="
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
47
|
version: '0'
|
|
54
48
|
type: :runtime
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
|
-
- -
|
|
52
|
+
- - ">="
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
61
54
|
version: '0'
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: mongoid
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
|
-
- -
|
|
59
|
+
- - ">="
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
61
|
+
version: '0'
|
|
70
62
|
type: :runtime
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
|
-
- -
|
|
66
|
+
- - ">="
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
77
|
-
version:
|
|
68
|
+
version: '0'
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
70
|
name: activerecord
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
|
-
- -
|
|
73
|
+
- - ">="
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
85
75
|
version: '0'
|
|
86
76
|
type: :runtime
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
|
-
- -
|
|
80
|
+
- - ">="
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
93
82
|
version: '0'
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
84
|
name: activerecord_idnamecache
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
|
-
- -
|
|
87
|
+
- - ">="
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
101
89
|
version: '0'
|
|
102
90
|
type: :runtime
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
|
-
- -
|
|
94
|
+
- - ">="
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
109
96
|
version: '0'
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
|
111
98
|
name: activesupport
|
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
100
|
requirements:
|
|
115
|
-
- -
|
|
101
|
+
- - ">="
|
|
116
102
|
- !ruby/object:Gem::Version
|
|
117
103
|
version: '0'
|
|
118
104
|
type: :runtime
|
|
119
105
|
prerelease: false
|
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
107
|
requirements:
|
|
123
|
-
- -
|
|
108
|
+
- - ">="
|
|
124
109
|
- !ruby/object:Gem::Version
|
|
125
110
|
version: '0'
|
|
126
111
|
- !ruby/object:Gem::Dependency
|
|
127
112
|
name: sequel
|
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
114
|
requirements:
|
|
131
|
-
- -
|
|
115
|
+
- - ">="
|
|
132
116
|
- !ruby/object:Gem::Version
|
|
133
117
|
version: '0'
|
|
134
118
|
type: :runtime
|
|
135
119
|
prerelease: false
|
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
121
|
requirements:
|
|
139
|
-
- -
|
|
122
|
+
- - ">="
|
|
140
123
|
- !ruby/object:Gem::Version
|
|
141
124
|
version: '0'
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
|
143
126
|
name: only_one_rake
|
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
none: false
|
|
146
128
|
requirements:
|
|
147
|
-
- -
|
|
129
|
+
- - ">="
|
|
148
130
|
- !ruby/object:Gem::Version
|
|
149
131
|
version: '0'
|
|
150
132
|
type: :runtime
|
|
151
133
|
prerelease: false
|
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
-
none: false
|
|
154
135
|
requirements:
|
|
155
|
-
- -
|
|
136
|
+
- - ">="
|
|
156
137
|
- !ruby/object:Gem::Version
|
|
157
138
|
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: json
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - '='
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: 1.8.0
|
|
146
|
+
type: :runtime
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - '='
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: 1.8.0
|
|
158
153
|
- !ruby/object:Gem::Dependency
|
|
159
154
|
name: bson_ext
|
|
160
155
|
requirement: !ruby/object:Gem::Requirement
|
|
161
|
-
none: false
|
|
162
156
|
requirements:
|
|
163
|
-
- -
|
|
157
|
+
- - ">="
|
|
164
158
|
- !ruby/object:Gem::Version
|
|
165
159
|
version: '0'
|
|
166
160
|
type: :runtime
|
|
167
161
|
prerelease: false
|
|
168
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
-
none: false
|
|
170
163
|
requirements:
|
|
171
|
-
- -
|
|
164
|
+
- - ">="
|
|
172
165
|
- !ruby/object:Gem::Version
|
|
173
166
|
version: '0'
|
|
174
167
|
- !ruby/object:Gem::Dependency
|
|
175
168
|
name: origin
|
|
176
169
|
requirement: !ruby/object:Gem::Requirement
|
|
177
|
-
none: false
|
|
178
170
|
requirements:
|
|
179
|
-
- -
|
|
171
|
+
- - ">="
|
|
180
172
|
- !ruby/object:Gem::Version
|
|
181
173
|
version: '0'
|
|
182
174
|
type: :runtime
|
|
183
175
|
prerelease: false
|
|
184
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
|
-
none: false
|
|
186
177
|
requirements:
|
|
187
|
-
- -
|
|
178
|
+
- - ">="
|
|
188
179
|
- !ruby/object:Gem::Version
|
|
189
180
|
version: '0'
|
|
190
181
|
- !ruby/object:Gem::Dependency
|
|
191
182
|
name: short_inspect
|
|
192
183
|
requirement: !ruby/object:Gem::Requirement
|
|
193
|
-
none: false
|
|
194
184
|
requirements:
|
|
195
|
-
- -
|
|
185
|
+
- - ">="
|
|
196
186
|
- !ruby/object:Gem::Version
|
|
197
187
|
version: '0'
|
|
198
188
|
type: :runtime
|
|
199
189
|
prerelease: false
|
|
200
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
-
none: false
|
|
202
191
|
requirements:
|
|
203
|
-
- -
|
|
192
|
+
- - ">="
|
|
204
193
|
- !ruby/object:Gem::Version
|
|
205
194
|
version: '0'
|
|
206
195
|
- !ruby/object:Gem::Dependency
|
|
207
196
|
name: sqlite3
|
|
208
197
|
requirement: !ruby/object:Gem::Requirement
|
|
209
|
-
none: false
|
|
210
198
|
requirements:
|
|
211
|
-
- -
|
|
199
|
+
- - ">="
|
|
212
200
|
- !ruby/object:Gem::Version
|
|
213
201
|
version: '0'
|
|
214
202
|
type: :development
|
|
215
203
|
prerelease: false
|
|
216
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
217
|
-
none: false
|
|
218
205
|
requirements:
|
|
219
|
-
- -
|
|
206
|
+
- - ">="
|
|
220
207
|
- !ruby/object:Gem::Version
|
|
221
208
|
version: '0'
|
|
222
209
|
- !ruby/object:Gem::Dependency
|
|
223
210
|
name: pry-debugger
|
|
224
211
|
requirement: !ruby/object:Gem::Requirement
|
|
225
|
-
none: false
|
|
226
212
|
requirements:
|
|
227
|
-
- -
|
|
213
|
+
- - ">="
|
|
228
214
|
- !ruby/object:Gem::Version
|
|
229
215
|
version: '0'
|
|
230
216
|
type: :development
|
|
231
217
|
prerelease: false
|
|
232
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
233
|
-
none: false
|
|
234
219
|
requirements:
|
|
235
|
-
- -
|
|
220
|
+
- - ">="
|
|
236
221
|
- !ruby/object:Gem::Version
|
|
237
222
|
version: '0'
|
|
238
223
|
- !ruby/object:Gem::Dependency
|
|
239
224
|
name: guard-test
|
|
240
225
|
requirement: !ruby/object:Gem::Requirement
|
|
241
|
-
none: false
|
|
242
226
|
requirements:
|
|
243
|
-
- -
|
|
227
|
+
- - ">="
|
|
244
228
|
- !ruby/object:Gem::Version
|
|
245
229
|
version: '0'
|
|
246
230
|
type: :development
|
|
247
231
|
prerelease: false
|
|
248
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
249
|
-
none: false
|
|
250
233
|
requirements:
|
|
251
|
-
- -
|
|
234
|
+
- - ">="
|
|
252
235
|
- !ruby/object:Gem::Version
|
|
253
236
|
version: '0'
|
|
254
237
|
description: Statistical and analysis in Ruby DSL, just as simple as SQL operations
|
|
@@ -258,12 +241,14 @@ executables: []
|
|
|
258
241
|
extensions: []
|
|
259
242
|
extra_rdoc_files: []
|
|
260
243
|
files:
|
|
261
|
-
- .document
|
|
262
|
-
- .gitignore
|
|
244
|
+
- ".document"
|
|
245
|
+
- ".gitignore"
|
|
246
|
+
- ".travis.yml"
|
|
263
247
|
- Gemfile
|
|
264
248
|
- Guardfile
|
|
265
249
|
- README.markdown
|
|
266
250
|
- Rakefile
|
|
251
|
+
- doc/related.markdown
|
|
267
252
|
- examples/eoecn.rb
|
|
268
253
|
- examples/sunshinelibrary.rb
|
|
269
254
|
- lib/statlysis.rb
|
|
@@ -309,27 +294,26 @@ files:
|
|
|
309
294
|
homepage: https://github.com/mvj3/statlysis
|
|
310
295
|
licenses:
|
|
311
296
|
- MIT
|
|
297
|
+
metadata: {}
|
|
312
298
|
post_install_message:
|
|
313
299
|
rdoc_options: []
|
|
314
300
|
require_paths:
|
|
315
301
|
- lib
|
|
316
302
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
317
|
-
none: false
|
|
318
303
|
requirements:
|
|
319
|
-
- -
|
|
304
|
+
- - ">="
|
|
320
305
|
- !ruby/object:Gem::Version
|
|
321
306
|
version: '0'
|
|
322
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
323
|
-
none: false
|
|
324
308
|
requirements:
|
|
325
|
-
- -
|
|
309
|
+
- - ">="
|
|
326
310
|
- !ruby/object:Gem::Version
|
|
327
311
|
version: '0'
|
|
328
312
|
requirements: []
|
|
329
313
|
rubyforge_project:
|
|
330
|
-
rubygems_version:
|
|
314
|
+
rubygems_version: 2.4.6
|
|
331
315
|
signing_key:
|
|
332
|
-
specification_version:
|
|
316
|
+
specification_version: 4
|
|
333
317
|
summary: Statistical and analysis in Ruby DSL, just as simple as SQL operations in
|
|
334
318
|
ActiveRecord.
|
|
335
319
|
test_files: []
|