sql_query 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bee55d0da7461b026132a7282340f29ad1a17768
4
- data.tar.gz: 0460233cafaf0331980a61e538fcf01058d76511
3
+ metadata.gz: 8996df6ea13c7ce6e1b4ffb04d2137d537852326
4
+ data.tar.gz: 776b12b91ab006e9ec2170268cfe2cb258f56603
5
5
  SHA512:
6
- metadata.gz: 8bb059c5e3f304165e409f8ec22fbce07f1e9a13cc6793242dd2bb63f0bc3bdf527e339e72fb294468a750abd9838817d86f68e00419b418da50f4abb4536fba
7
- data.tar.gz: 8509f4a76b9e9772e0eda5e8db5ea58bf5e5d173210609e49c272ab88d965582f3ea90dd3824a85bc9f73e4eab2cffae08e8b4809388bb028b7cad30f47e2b9b
6
+ metadata.gz: 0d535b70950bfd98f169873ff9471453296e7eb4fb045dc0cf525d9563153022fa8e743aed56a00533ae67d62fc4ceeda4089d4483638b988a7922077c9dfd29
7
+ data.tar.gz: 8615b61a80e9d78e6492404437bf0c6195ab241ec44be1e50f4544b2994c224c9c16982860886157e7659d3e25142a27b15bb3e9a361ea198f51f7b2200d22a3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SqlQuery change log
2
2
 
3
- ## 0.3.1 / Unreleased
3
+ ## 0.4.1 / Unreleased
4
4
 
5
5
  * [Added]
6
6
 
@@ -10,6 +10,12 @@
10
10
 
11
11
  * [Fixed]
12
12
 
13
+ ## 0.4.0 / 2016-01-20
14
+
15
+ * [Added] execute will accept boolean attribute.
16
+ When set to false it will use raw query instead of prepared for logs.
17
+ By default it will be set to true.
18
+
13
19
  ## 0.3.0 / 2015-12-10
14
20
 
15
21
  * [Added] support for partials
data/README.md CHANGED
@@ -81,7 +81,7 @@ SqlQuery.new('player/get_by_email', email: 'e@mail.dev')
81
81
 
82
82
  ### Methods
83
83
 
84
- - **execute** - executes query and returns result data.
84
+ - **execute** - executes query and returns result data. It accepts boolean argument. When argument is false it will raw sql query instead of prepared_for_logs.
85
85
  - **explain** - runs explain for SQL from template
86
86
  - **sql** - returns SQL string
87
87
  - **pretty_sql** - returns SQL string prettier to read in console
data/lib/sql_query.rb CHANGED
@@ -19,8 +19,9 @@ class SqlQuery
19
19
  pretty(msg)
20
20
  end
21
21
 
22
- def execute
23
- connection.execute(prepared_for_logs).entries
22
+ def execute(prepare = true)
23
+ to_execute = prepare ? prepared_for_logs : sql
24
+ connection.execute(to_execute).entries
24
25
  end
25
26
 
26
27
  def sql
@@ -100,6 +100,20 @@ describe SqlQuery do
100
100
  it 'returns data from database' do
101
101
  expect(query.execute).to eq [{ 'email' => 'e@mail.dev'}]
102
102
  end
103
+
104
+ context 'when prepare argument is true' do
105
+ it 'executes prepared query for logs' do
106
+ expect(query).to receive(:prepared_for_logs) { '' }
107
+ query.execute
108
+ end
109
+ end
110
+
111
+ context 'when prepare argument is false' do
112
+ it 'executes unchanged sql query' do
113
+ expect(query).not_to receive(:prepared_for_logs)
114
+ query.execute(false)
115
+ end
116
+ end
103
117
  end
104
118
 
105
119
  describe '#partial' do
@@ -108,4 +122,11 @@ describe SqlQuery do
108
122
  expect(query.sql).to eq("SELECT *\nFROM players\nWHERE players.email = 'e@mail.dev'\n\n")
109
123
  end
110
124
  end
125
+
126
+ describe '#prepared_for_logs' do
127
+ it 'returns string without new lines' do
128
+ expect(query.prepared_for_logs)
129
+ .to eq("SELECT * FROM players WHERE email = 'e@mail.dev' ")
130
+ end
131
+ end
111
132
  end
data/sql_query.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "sql_query"
7
- spec.version = "0.3.0"
7
+ spec.version = "0.4.0"
8
8
  spec.authors = ["sufleR"]
9
9
  spec.email = ["szymon.fracczak@gmail.com"]
10
10
  spec.summary = %q{Ruby gem to load and execute SQL queries from `.sql.erb` templates}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sql_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sufleR
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-10 00:00:00.000000000 Z
11
+ date: 2016-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  version: '0'
189
189
  requirements: []
190
190
  rubyforge_project:
191
- rubygems_version: 2.5.0
191
+ rubygems_version: 2.5.1
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: Ruby gem to load and execute SQL queries from `.sql.erb` templates