sheets_db 0.8.1 → 0.10.1

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
- SHA1:
3
- metadata.gz: 3512aee623de503648264a2420bf8e9a74b17a60
4
- data.tar.gz: bf6c2802a235557a6ba296e49f45b51452f3c704
2
+ SHA256:
3
+ metadata.gz: 142c393d8b757f2b1f97ad8f2f809220380f9da7950590939e3801838c23a013
4
+ data.tar.gz: 47cafcb65c5e2aa3dda6e30f99d791ad6af633add8b89d76fa22fba94732d9a4
5
5
  SHA512:
6
- metadata.gz: 91a34dbe4f66c7139be11a29580d300f654cf698d7355787b9ebf9c7bf75dc83a0f83386f349babbbbafba5f3e70f461cfc6d2229469ce9eb7b830400aa3ecc5
7
- data.tar.gz: 24b4ffe779c70624c0ba02dd122b46b1f518c8ac7dcc224eb3bc695790201f20087c22ee55cc99a01c7dc87bef01b98472617499f86873b011d7f8dd5deffa14
6
+ metadata.gz: b7ebc9d05766af291454fe522ca8855c4bfd222e011cfb59e99b423245a2c7c8c242c63ab351d601c51b85594435e3a57855f908ddcb3287f830a3b97442b11f
7
+ data.tar.gz: d85572aafbbbd0d84a9cdfbbd6a0f401033087d962a00c713184b8bedf4edcb49b3781b85c75a813f844c7a71efdaf534bf8964b4ba53ce755b1a7422fe7771b
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ .idea
@@ -1 +1 @@
1
- 2.3.
1
+ 2.6.
data/README.md CHANGED
@@ -30,6 +30,10 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
30
30
 
31
31
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
32
 
33
+ ## Releasing
34
+
35
+ We use [Semantic Versioning](https://semver.org/) system. [RubyGems](https://guides.rubygems.org/publishing/) documents on how to publish a release.
36
+
33
37
  ## Contributing
34
38
 
35
39
  Bug reports and pull requests are welcome on GitHub at https://github.com/ablschools/sheets_db. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -1,3 +1,3 @@
1
1
  module SheetsDB
2
- VERSION = "0.8.1"
2
+ VERSION = "0.10.1"
3
3
  end
@@ -40,16 +40,20 @@ module SheetsDB
40
40
  end
41
41
  end
42
42
 
43
+ def column_names
44
+ columns.keys
45
+ end
46
+
43
47
  def attribute_definitions
44
48
  type.attribute_definitions
45
49
  end
46
50
 
47
51
  def get_definition_and_column(attribute_name)
48
52
  attribute_definition = attribute_definitions.fetch(attribute_name)
49
- column_name = attribute_definition.fetch(:column_name, attribute_name.to_s)
53
+ column_name = attribute_definition.fetch(:column_name, attribute_name)
50
54
  [
51
55
  attribute_definition,
52
- columns[column_name]
56
+ columns[column_name.to_s]
53
57
  ]
54
58
  end
55
59
 
@@ -57,7 +61,7 @@ module SheetsDB
57
61
  unless attribute_definition[:if_column_missing]
58
62
  raise ColumnNotFoundError, attribute_definition[:column_name]
59
63
  end
60
- attribute_definition[:if_column_missing].call
64
+ instance_exec(&attribute_definition[:if_column_missing])
61
65
  end
62
66
 
63
67
  def attribute_at_row_position(attribute_name, row_position)
@@ -14,7 +14,7 @@ module SheetsDB
14
14
  end
15
15
 
16
16
  def attribute(name, type: String, multiple: false, transform: nil, column_name: nil, if_column_missing: nil)
17
- register_attribute(name, type: type, multiple: multiple, transform: transform, column_name: column_name || name.to_s, association: false, if_column_missing: if_column_missing)
17
+ register_attribute(name, type: type, multiple: multiple, transform: transform, column_name: (column_name || name).to_s, association: false, if_column_missing: if_column_missing)
18
18
 
19
19
  define_method(name) do
20
20
  begin
@@ -113,6 +113,10 @@ module SheetsDB
113
113
  @changed_foreign_items = []
114
114
  end
115
115
 
116
+ def column_names
117
+ worksheet.column_names
118
+ end
119
+
116
120
  def new_row?
117
121
  row_position.nil?
118
122
  end
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "google_drive", "~> 2.1"
21
+ spec.add_dependency "google_drive", "~> 3.0"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.12"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 3.0"
23
+ spec.add_development_dependency "bundler", "~> 2.1"
24
+ spec.add_development_dependency "rake", "~> 13"
25
+ spec.add_development_dependency "rspec", "~> 3.10"
26
26
  spec.add_development_dependency "simplecov"
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sheets_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ravi Gadad
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-28 00:00:00.000000000 Z
11
+ date: 2020-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google_drive
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.1'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.12'
33
+ version: '2.1'
34
34
  type: :development
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: '1.12'
40
+ version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '3.10'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '3.10'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description:
83
+ description:
84
84
  email:
85
85
  - ravi@ablschools.com
86
86
  executables: []
@@ -123,7 +123,7 @@ homepage: https://github.com/ablschools/sheets_db
123
123
  licenses:
124
124
  - MIT
125
125
  metadata: {}
126
- post_install_message:
126
+ post_install_message:
127
127
  rdoc_options: []
128
128
  require_paths:
129
129
  - lib
@@ -138,9 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  requirements: []
141
- rubyforge_project:
142
- rubygems_version: 2.5.2.2
143
- signing_key:
141
+ rubygems_version: 3.0.3
142
+ signing_key:
144
143
  specification_version: 4
145
144
  summary: Adapter for pseudo-relational data stored in Google Sheets
146
145
  test_files: []