activerecord-raw-data 0.2.0 → 0.3.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
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6e6a04299fc4000c230a640a07ea0ced7af74422
|
4
|
+
data.tar.gz: ce9f59a27f67d55662de920f5f6004f98b81b446
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4570d705996b3507aa12185ad3a5c864527e0e7a13c67750ff7efe413b5bc3348f6e728f82cb42d09f950243182eb163b42ca2cbe00c617919796dd96a6f18fd
|
7
|
+
data.tar.gz: f6ac74b94f05bda6f4fbf78b72dcd11ebc083b4a4fb511abe783f31054c990f5396194ffa04494cd10f6c16d717133e28ddc6d1fcea7182186f8e78cb06df569
|
@@ -1,28 +1,32 @@
|
|
1
|
-
|
2
1
|
require 'active_record'
|
3
2
|
require 'activerecord-raw-data/version'
|
3
|
+
require 'activerecord-raw-data/compatibility_adapter'
|
4
4
|
|
5
5
|
module ActiveRecord
|
6
6
|
module RawData
|
7
|
+
mattr_accessor :adapter
|
8
|
+
|
7
9
|
def self.included(klass)
|
8
10
|
klass.extend(ClassMethods)
|
9
11
|
end
|
10
12
|
|
13
|
+
self.adapter = ActiveRecord::RawData::CompatibilityAdapter.new(ActiveRecord::VERSION::MAJOR)
|
14
|
+
|
11
15
|
module ClassMethods
|
12
16
|
def raw_data
|
13
|
-
connection.select_all
|
17
|
+
RawData.adapter.result_to_hash(connection.select_all RawData.adapter.blank_scope(self).to_sql)
|
14
18
|
end
|
15
19
|
|
16
20
|
def raw_rows
|
17
|
-
connection.select_rows
|
21
|
+
connection.select_rows RawData.adapter.blank_scope(self).to_sql
|
18
22
|
end
|
19
23
|
|
20
24
|
def raw_values
|
21
|
-
connection.select_values
|
25
|
+
connection.select_values RawData.adapter.blank_scope(self).to_sql
|
22
26
|
end
|
23
27
|
|
24
28
|
def raw_data_by_sql(sql)
|
25
|
-
connection.select_all sanitize_sql(sql)
|
29
|
+
RawData.adapter.result_to_hash(connection.select_all sanitize_sql(sql))
|
26
30
|
end
|
27
31
|
end
|
28
32
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
module ActiveRecord
|
3
|
+
module RawData
|
4
|
+
class CompatibilityAdapter
|
5
|
+
def initialize(version)
|
6
|
+
@version = version
|
7
|
+
end
|
8
|
+
|
9
|
+
def ar4?
|
10
|
+
@version == 4
|
11
|
+
end
|
12
|
+
|
13
|
+
def blank_scope(klass)
|
14
|
+
ar4? ? klass.all : klass.scoped
|
15
|
+
end
|
16
|
+
|
17
|
+
def result_to_hash(result)
|
18
|
+
return result unless ar4?
|
19
|
+
|
20
|
+
result.to_hash
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -14,9 +14,9 @@ describe ActiveRecord::RawData do
|
|
14
14
|
|
15
15
|
it "should result raw data" do
|
16
16
|
User.raw_data.should eq [
|
17
|
-
{"id"=>
|
18
|
-
{"id"=>
|
19
|
-
{"id"=>
|
17
|
+
{"id"=> alice.id, "name"=>"alice", "mail"=>"alice@example.com"},
|
18
|
+
{"id"=> bob.id, "name"=>"bob", "mail"=>"bob@example.com"},
|
19
|
+
{"id"=> carol.id, "name"=>"carol", "mail"=>"carol@example.com"}
|
20
20
|
]
|
21
21
|
end
|
22
22
|
|
@@ -30,9 +30,9 @@ describe ActiveRecord::RawData do
|
|
30
30
|
|
31
31
|
it "should result raw rows" do
|
32
32
|
User.raw_rows.should eq [
|
33
|
-
[
|
34
|
-
[
|
35
|
-
[
|
33
|
+
[alice.id, "alice", "alice@example.com"],
|
34
|
+
[bob.id, "bob", "bob@example.com"],
|
35
|
+
[carol.id, "carol", "carol@example.com"]
|
36
36
|
]
|
37
37
|
end
|
38
38
|
|
@@ -44,9 +44,8 @@ describe ActiveRecord::RawData do
|
|
44
44
|
]
|
45
45
|
end
|
46
46
|
|
47
|
-
|
48
47
|
it "should result raw values" do
|
49
|
-
User.raw_values.should eq [
|
48
|
+
User.raw_values.should eq [alice.id, bob.id, carol.id]
|
50
49
|
end
|
51
50
|
|
52
51
|
it "should result raw values with select" do
|
metadata
CHANGED
@@ -1,82 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-raw-data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Yuichi Tateno
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-10-08 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activerecord
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.0.0
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: 0.8.0
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.8.0
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rspec
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- - ~>
|
45
|
+
- - "~>"
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: 2.8.0
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.8.0
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: pry
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: sqlite3
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- -
|
73
|
+
- - ">="
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :development
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: database_cleaner
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- -
|
87
|
+
- - ">="
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :development
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
description: Get raw data from ActiveRecord
|
81
98
|
email:
|
82
99
|
- hotchpotch@gmail.com
|
@@ -84,47 +101,41 @@ executables: []
|
|
84
101
|
extensions: []
|
85
102
|
extra_rdoc_files: []
|
86
103
|
files:
|
87
|
-
- .gitignore
|
88
|
-
- .travis.yml
|
104
|
+
- ".gitignore"
|
105
|
+
- ".travis.yml"
|
89
106
|
- Gemfile
|
90
107
|
- LICENSE
|
91
108
|
- README.md
|
92
109
|
- Rakefile
|
93
110
|
- activerecord-raw-data.gemspec
|
94
111
|
- lib/activerecord-raw-data.rb
|
112
|
+
- lib/activerecord-raw-data/compatibility_adapter.rb
|
95
113
|
- lib/activerecord-raw-data/version.rb
|
96
114
|
- spec/activerecord-raw-data_spec.rb
|
97
115
|
- spec/database.rb
|
98
116
|
- spec/spec_helper.rb
|
99
117
|
homepage: https://github.com/hotchpotch/activerecord-raw-data
|
100
118
|
licenses: []
|
119
|
+
metadata: {}
|
101
120
|
post_install_message:
|
102
121
|
rdoc_options: []
|
103
122
|
require_paths:
|
104
123
|
- lib
|
105
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
125
|
requirements:
|
108
|
-
- -
|
126
|
+
- - ">="
|
109
127
|
- !ruby/object:Gem::Version
|
110
128
|
version: '0'
|
111
|
-
segments:
|
112
|
-
- 0
|
113
|
-
hash: -243093227698944520
|
114
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
130
|
requirements:
|
117
|
-
- -
|
131
|
+
- - ">="
|
118
132
|
- !ruby/object:Gem::Version
|
119
133
|
version: '0'
|
120
|
-
segments:
|
121
|
-
- 0
|
122
|
-
hash: -243093227698944520
|
123
134
|
requirements: []
|
124
135
|
rubyforge_project:
|
125
|
-
rubygems_version:
|
136
|
+
rubygems_version: 2.4.5
|
126
137
|
signing_key:
|
127
|
-
specification_version:
|
138
|
+
specification_version: 4
|
128
139
|
summary: Get raw data from ActiveRecord
|
129
140
|
test_files:
|
130
141
|
- spec/activerecord-raw-data_spec.rb
|