github-ds 0.1.0 → 0.2.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: 06371d875489add31a6dada7ff308cee7355759a
4
- data.tar.gz: 1cfaebb92a0ca5d4b75a71d89a4dcaf9fbda6634
3
+ metadata.gz: a1aaf710b392b3606a470e855ffc6df96bb8d02d
4
+ data.tar.gz: a0ccd759cda221b0749c2868e3b55f03aa800589
5
5
  SHA512:
6
- metadata.gz: 65ce5774cd9519de0383bd3597c277246a977a038bec24cbe945d21b55116d1211487b98134170adb4a9851eb44addb1aa40d38004d09b4e756c3fdd43d79d5b
7
- data.tar.gz: 2af9c3b7bc6fd3eaa5543f7c8272afca16afc3e639df64f83074d8ed740c91de37f69ef33c45544fc85bbce1febefeb1e5be92981ff36aef32faefede2d992a9
6
+ metadata.gz: 6b557340535961e3e89fe98a4f5cb84cad5b66d44accff0bec41398677d6d0f9e40df761da62360aae7083ce4a4df4c31be38750767d404eeb6f208b25af5312
7
+ data.tar.gz: 0fa602a4a8de432e7db165aacef4207e81daa4e03c8c0907aa7a48278f0aa5ae03ebc0dbf9949008bd62dc512151285e8a96bce293571bad4b0184fddfa7ba3b
@@ -1,5 +1,11 @@
1
- sudo: false
2
1
  language: ruby
3
2
  rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v 1.14.6
3
+ - 2.2.7
4
+ - 2.3.4
5
+ - 2.4.0
6
+ before_script: gem install bundler -v 1.14.6
7
+ script: bundle exec rake
8
+ env:
9
+ - RAILS_VERSION=5.1.0
10
+ - RAILS_VERSION=5.0.0
11
+ - RAILS_VERSION=4.2.5
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0
4
+
5
+ Fixes
6
+
7
+ * Fixed rails generator name https://github.com/github/github-ds/pull/16
8
+ * Add active_record as dependency (not just dev dependency) https://github.com/github/github-ds/commit/e9ce8e4e47d39152021976482e1a0a60efbb9d20
9
+
10
+ ## 0.1.0
11
+
12
+ * Initial release.
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in github-ds.gemspec
4
2
  gemspec
5
3
 
6
- gem "rails", "~> #{ENV['RAILS_VERSION'] || '5.0.2'}"
4
+ DEFAULT_RAILS_VERSION = '5.0.2'
5
+ gem "rails", "~> #{ENV['RAILS_VERSION'] || DEFAULT_RAILS_VERSION}"
6
+ gem "activerecord", "~> #{ENV['RAILS_VERSION'] || DEFAULT_RAILS_VERSION}"
data/README.md CHANGED
@@ -33,7 +33,7 @@ Below is a taste of what you can do with these libraries. If you want to see mor
33
33
  First, you'll need to create the `key_values` table using the included Rails migration generator.
34
34
 
35
35
  ```
36
- rails generate github:kv:active_record
36
+ rails generate github:ds:active_record
37
37
  rails db:migrate
38
38
  ```
39
39
 
@@ -91,24 +91,37 @@ pp kv.mdel(["foo", "bar"])
91
91
 
92
92
  ```ruby
93
93
  # Select, insert, update, delete or whatever you need...
94
- statement = "INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)"
95
- GitHub::SQL.run statement, key: "foo", value: "bar"
94
+ GitHub::SQL.results <<-SQL
95
+ SELECT * FROM example_key_values
96
+ SQL
96
97
 
97
- statement = "SELECT value FROM example_key_values WHERE `key` = :key"
98
- GitHub::SQL.value select_statement, key: "foo"
98
+ GitHub::SQL.run <<-SQL, key: "foo", value: "bar"
99
+ INSERT INTO example_key_values (`key`, `value`)
100
+ VALUES (:key, :value)
101
+ SQL
102
+
103
+ GitHub::SQL.value <<-SQL, key: "foo"
104
+ SELECT value FROM example_key_values WHERE `key` = :key
105
+ SQL
99
106
 
100
107
  # Or slowly build up a query based on conditionals...
101
- sql = GitHub::SQL.new "SELECT `VALUE` FROM example_key_values"
108
+ sql = GitHub::SQL.new <<-SQL
109
+ SELECT `value` FROM example_key_values
110
+ SQL
102
111
 
103
112
  key = ENV["KEY"]
104
113
  unless key.nil?
105
- sql.add "WHERE `key` = :key", key: key
114
+ sql.add <<-SQL, key: key
115
+ WHERE `key` = :key
116
+ SQL
106
117
  end
107
118
 
108
119
  limit = ENV["LIMIT"]
109
120
  unless limit.nil?
110
- sql.add "ORDER BY `key` ASC"
111
- sql.add "LIMIT :limit", limit: limit.to_i
121
+ sql.add <<-SQL, limit: limit.to_i
122
+ ORDER BY `key` ASC
123
+ LIMIT :limit
124
+ SQL
112
125
  end
113
126
 
114
127
  p sql.results
@@ -193,8 +206,9 @@ Nothing currently on our radar other than continued maintenance. Have a big idea
193
206
 
194
207
  | pic | @mention |
195
208
  |---|---|
196
- | ![@jnunemaker](https://avatars3.githubusercontent.com/u/235?s=64) | [@jnunemaker](https://github.com/jnunemaker) |
197
209
  | ![@charliesome](https://avatars3.githubusercontent.com/u/179065?s=64) | [@charliesome](https://github.com/charliesome) |
210
+ | ![@jnunemaker](https://avatars3.githubusercontent.com/u/235?s=64) | [@jnunemaker](https://github.com/jnunemaker) |
211
+ | ![@zerowidth](https://avatars3.githubusercontent.com/u/3999?s=64) | [@zerowidth](https://github.com/zerowidth) |
198
212
 
199
213
  ## License
200
214
 
@@ -16,7 +16,7 @@ begin
16
16
  require "generators/github/ds/templates/migration"
17
17
  ActiveRecord::Migration.verbose = false
18
18
  CreateKeyValuesTable.up
19
- rescue ActiveRecord::NoDatabaseError
19
+ rescue
20
20
  raise if attempts >= 1
21
21
  ActiveRecord::Base.establish_connection({
22
22
  adapter: "mysql2",
@@ -1,44 +1,55 @@
1
1
  require File.expand_path("../example_setup", __FILE__)
2
2
  require "github/sql"
3
3
 
4
- insert_statement = "INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)"
5
- select_statement = "SELECT value FROM example_key_values WHERE `key` = :key"
6
- update_statement = "UPDATE example_key_values SET value = :value WHERE `key` = :key"
7
- delete_statement = "DELETE FROM example_key_values WHERE `key` = :key"
8
-
9
4
  ################################# Class Style ##################################
10
- sql = GitHub::SQL.run insert_statement, key: "foo", value: "bar"
5
+ sql = GitHub::SQL.run <<-SQL, key: "foo", value: "bar"
6
+ INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
7
+ SQL
11
8
  p sql.last_insert_id
12
9
  # 1
13
10
 
14
- p GitHub::SQL.value select_statement, key: "foo"
11
+ p GitHub::SQL.value <<-SQL, key: "foo"
12
+ SELECT value FROM example_key_values WHERE `key` = :key
13
+ SQL
15
14
  # "bar"
16
15
 
17
- sql = GitHub::SQL.run update_statement, key: "foo", value: "new value"
16
+ sql = GitHub::SQL.run <<-SQL, key: "foo", value: "new value"
17
+ UPDATE example_key_values SET value = :value WHERE `key` = :key
18
+ SQL
18
19
  p sql.affected_rows
19
20
  # 1
20
21
 
21
- sql = GitHub::SQL.run delete_statement, key: "foo"
22
+ sql = GitHub::SQL.run <<-SQL, key: "foo"
23
+ DELETE FROM example_key_values WHERE `key` = :key
24
+ SQL
22
25
  p sql.affected_rows
23
26
  # 1
24
27
 
25
28
 
26
29
  ################################ Instance Style ################################
27
- sql = GitHub::SQL.new insert_statement, key: "foo", value: "bar"
30
+ sql = GitHub::SQL.new <<-SQL, key: "foo", value: "bar"
31
+ INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
32
+ SQL
28
33
  sql.run
29
34
  p sql.last_insert_id
30
35
  # 2
31
36
 
32
- sql = GitHub::SQL.new select_statement, key: "foo"
37
+ sql = GitHub::SQL.new <<-SQL, key: "foo"
38
+ SELECT value FROM example_key_values WHERE `key` = :key
39
+ SQL
33
40
  p sql.value
34
41
  # "bar"
35
42
 
36
- sql = GitHub::SQL.new update_statement, key: "foo", value: "new value"
43
+ sql = GitHub::SQL.new <<-SQL, key: "foo", value: "new value"
44
+ UPDATE example_key_values SET value = :value WHERE `key` = :key
45
+ SQL
37
46
  sql.run
38
47
  p sql.affected_rows
39
48
  # 1
40
49
 
41
- sql = GitHub::SQL.new delete_statement, key: "foo"
50
+ sql = GitHub::SQL.new <<-SQL, key: "foo"
51
+ DELETE FROM example_key_values WHERE `key` = :key
52
+ SQL
42
53
  sql.run
43
54
  p sql.affected_rows
44
55
  # 1
@@ -6,17 +6,23 @@ GitHub::SQL.run <<-SQL
6
6
  VALUES ("foo", "bar"), ("baz", "wick")
7
7
  SQL
8
8
 
9
- sql = GitHub::SQL.new "SELECT `VALUE` FROM example_key_values"
9
+ sql = GitHub::SQL.new <<-SQL
10
+ SELECT `VALUE` FROM example_key_values
11
+ SQL
10
12
 
11
13
  key = ENV["KEY"]
12
14
  unless key.nil?
13
- sql.add "WHERE `key` = :key", key: key
15
+ sql.add <<-SQL, key: key
16
+ WHERE `key` = :key
17
+ SQL
14
18
  end
15
19
 
16
20
  limit = ENV["LIMIT"]
17
21
  unless limit.nil?
18
- sql.add "ORDER BY `key` ASC"
19
- sql.add "LIMIT :limit", limit: limit.to_i
22
+ sql.add <<-SQL, limit: limit.to_i
23
+ ORDER BY `key` ASC
24
+ LIMIT :limit
25
+ SQL
20
26
  end
21
27
 
22
28
  p sql.results
@@ -10,15 +10,17 @@ class SomeModel < ActiveRecord::Base
10
10
  })
11
11
  end
12
12
 
13
- insert_statement = "INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)"
14
-
15
13
  ActiveRecord::Base.transaction do
16
14
  # Insert bar on base connection.
17
- GitHub::SQL.run insert_statement, key: "bar", value: "baz", connection: ActiveRecord::Base.connection
15
+ GitHub::SQL.run <<-SQL, key: "bar", value: "baz", connection: ActiveRecord::Base.connection
16
+ INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
17
+ SQL
18
18
 
19
19
  SomeModel.transaction do
20
20
  # Insert foo on different connection.
21
- GitHub::SQL.run insert_statement, key: "foo", value: "bar", connection: SomeModel.connection
21
+ GitHub::SQL.run <<-SQL, key: "foo", value: "bar", connection: SomeModel.connection
22
+ INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
23
+ SQL
22
24
  end
23
25
 
24
26
  # Roll back "bar" insertion.
@@ -28,5 +30,7 @@ end
28
30
  # Show that "bar" key is not here because that connection's transaction was
29
31
  # rolled back. SomeModel is a different connection and started a different
30
32
  # transaction, which succeeded, so "foo" key was created.
31
- p GitHub::SQL.values "SELECT `key` FROM example_key_values"
33
+ p GitHub::SQL.values <<-SQL
34
+ SELECT `key` FROM example_key_values
35
+ SQL
32
36
  # ["foo"]
@@ -30,13 +30,13 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
+ spec.add_dependency "activerecord", ">= 3.2", "< 6.0"
34
+
33
35
  spec.add_development_dependency "bundler", "~> 1.14"
34
36
  spec.add_development_dependency "rake", "~> 10.0"
35
37
  spec.add_development_dependency "minitest", "~> 5.0"
36
38
  spec.add_development_dependency "timecop", "~> 0.8.1"
37
- spec.add_development_dependency "activerecord", "~> 5.0"
38
39
  spec.add_development_dependency "activesupport"
39
40
  spec.add_development_dependency "mysql2"
40
- spec.add_development_dependency "activerecord-mysql-adapter"
41
41
  spec.add_development_dependency "mocha", "~> 1.2.1"
42
42
  end
@@ -1,7 +1,7 @@
1
1
  require "rails/generators/active_record"
2
2
 
3
3
  module Github
4
- module DS
4
+ module Ds
5
5
  module Generators
6
6
  class ActiveRecordGenerator < ::Rails::Generators::Base
7
7
  include ::Rails::Generators::Migration
@@ -1,5 +1,5 @@
1
1
  module GitHub
2
2
  module DS
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bundler/setup"
4
- require "github/kv"
4
+ require "github/ds"
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-ds
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
7
  - GitHub Open Source
@@ -9,8 +9,28 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-04-11 00:00:00.000000000 Z
12
+ date: 2017-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activerecord
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '3.2'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '6.0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '3.2'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '6.0'
14
34
  - !ruby/object:Gem::Dependency
15
35
  name: bundler
16
36
  requirement: !ruby/object:Gem::Requirement
@@ -67,20 +87,6 @@ dependencies:
67
87
  - - "~>"
68
88
  - !ruby/object:Gem::Version
69
89
  version: 0.8.1
70
- - !ruby/object:Gem::Dependency
71
- name: activerecord
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: '5.0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '5.0'
84
90
  - !ruby/object:Gem::Dependency
85
91
  name: activesupport
86
92
  requirement: !ruby/object:Gem::Requirement
@@ -109,20 +115,6 @@ dependencies:
109
115
  - - ">="
110
116
  - !ruby/object:Gem::Version
111
117
  version: '0'
112
- - !ruby/object:Gem::Dependency
113
- name: activerecord-mysql-adapter
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
118
  - !ruby/object:Gem::Dependency
127
119
  name: mocha
128
120
  requirement: !ruby/object:Gem::Requirement
@@ -148,6 +140,7 @@ extra_rdoc_files: []
148
140
  files:
149
141
  - ".gitignore"
150
142
  - ".travis.yml"
143
+ - CHANGELOG.md
151
144
  - CODE_OF_CONDUCT.md
152
145
  - CONTRIBUTING.md
153
146
  - Gemfile