orm_adapter-fmrest 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e19c15e6fcc08c53a32510c1a98c5dc66271f5d00143c5b5cc18ac30717f51f
4
- data.tar.gz: c123ee2e3d1fca48ac771444f8b710fd5cb1f5cf8a6903af41578fb5cd60ebad
3
+ metadata.gz: 524ca147efac8a6e7f996e3a1f44bf70471d276c396abc56de75dbbfcdde05da
4
+ data.tar.gz: 0aad80bcbc591b7055f3efefd05629219ace7f3444f16da107cfcaa737e852e4
5
5
  SHA512:
6
- metadata.gz: c5e22129ff41cbf904e0f74182917eaf471bc7cda2356768ccf2ec046a5d1107154eb5dc2921b944c95a2c5f01ee484e6da1ed247e677bc7aef30efcbe1e6b4c
7
- data.tar.gz: 876ded434edf728ab5237547dcb5f148eeaea321bad7ed9fb62bc24fc5e0a164b5f8e06fed4395ed2b174650cef2d90683b053ed198a1e8f9edfbe87a0b8025b
6
+ metadata.gz: 462edd4b1892bbc3c533fd2c9b6bed12c6cea4e3967cc726e28acd793167b7fbc8f84e03dd5bb6b147e662baf25e580a1cafe504b06d8fe347f239eabbb171fc
7
+ data.tar.gz: d833a66bf2eca2ceb86b050bde9415f98792ac175cd3fcaf4787c3df9bbc5c15015587c79c8b3d09e4dc500946c18c41e3dbb4926b5ce5e45b88ba46e43e77bc
data/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ ## CANGELOG
2
+
3
+ ### 0.1.1
4
+
5
+ * fix find_first without condition
6
+ * add usage with Devise in README
7
+ * auto map columns from layout for Devise models
8
+
9
+ ### 0.1.0
10
+
11
+ * initial commit
data/README.md CHANGED
@@ -48,7 +48,6 @@ gem 'devise'
48
48
  And then configure Devise using "--orm fmrest" parameter:
49
49
 
50
50
  $ rails generate devise:install --orm fmrest
51
- $ rails generate devise User --orm fmrest
52
51
 
53
52
  After that you can create User model:
54
53
 
@@ -56,8 +55,10 @@ After that you can create User model:
56
55
  class User < FmRest::Layout
57
56
  layout('your_user_layout')
58
57
  extend Devise::Models
59
- devise :database_authenticatable, :rememberable, :trackable
58
+ include ActiveModel::Validations
59
+ include ActiveModel::Validations::Callbacks
60
60
 
61
+ devise :database_authenticatable, :rememberable, :trackable
61
62
 
62
63
  end
63
64
  ```
@@ -1 +1,2 @@
1
- # stub to enable devise to use orm_adapter-fmrest
1
+ # stub to enable devise to use orm_adapter-fmrest
2
+ require 'orm_adapter/fmrest'
@@ -8,6 +8,15 @@ module FmRest
8
8
  class Base
9
9
  extend OrmAdapter::ToAdapter
10
10
 
11
+ # for device models define all unmapped columns in column map so they can be accessed
12
+ def initialize(attributes = nil)
13
+ super
14
+ return unless self.class.respond_to? :authentication_keys
15
+
16
+ base_columns = self.class.to_adapter.column_names - mapped_attributes.keys
17
+ self.class.attributes(base_columns.to_h {|col| [col, col]})
18
+ end
19
+
11
20
  class OrmAdapter < ::OrmAdapter::Base
12
21
 
13
22
  # Get a list of the attribute names (field names) in the Filemaker Layout.
@@ -88,8 +97,9 @@ module FmRest
88
97
  def base_relation(options)
89
98
  conditions, order, limit, offset = extract_conditions!(options)
90
99
 
91
- relation = klass.query(exact_conditions(conditions))
92
- relation = relation.sort(*order_clause(order)) if order.any?
100
+ relation = klass
101
+ relation = klass.query(exact_conditions(conditions.stringify_keys)) if conditions.present?
102
+ relation = relation.sort(*order_clause(order)) if order.present?
93
103
  relation = relation.limit(limit) if limit
94
104
  relation = relation.offset(offset) if offset
95
105
 
@@ -97,7 +107,7 @@ module FmRest
97
107
  end
98
108
 
99
109
  def exact_conditions(conditions)
100
- conditions.transform_values { |v| v.is_a?(String) ? "==#{v}" : v }
110
+ conditions.transform_values { |v| v.is_a?(String) && !v.match?(/^[<=>]/) ? "==#{v}" : v }
101
111
  end
102
112
 
103
113
  def order_clause(order)
@@ -106,6 +116,8 @@ module FmRest
106
116
 
107
117
  # given an order argument, returns an array of attributes (symbols) postfixed with __desc if order is reversed
108
118
  def normalize_order(order)
119
+ return if order.blank?
120
+
109
121
  if order.is_a? Array
110
122
  order = [order] unless order.first.is_a?(Array)
111
123
  order.map { |key, dir| (dir.to_s.downcase == 'desc' ? "key__desc" : key).to_sym }
@@ -1,5 +1,5 @@
1
1
  module OrmAdapter
2
2
  module Fmrest
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
@@ -37,8 +37,8 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  spec.add_dependency 'activemodel', '>= 3.0.0', '< 7.0.0'
39
39
  spec.add_dependency 'activesupport', '>= 3.0.0', '< 7.0.0'
40
- spec.add_dependency 'orm_adapter', '>= 0.5.0'
41
- spec.add_dependency 'fmrest', '>= 0.18.0'
40
+ spec.add_dependency 'orm_adapter', '~> 0.5', '>= 0.5.0'
41
+ spec.add_dependency 'fmrest', '~> 0.18'
42
42
 
43
43
  spec.add_development_dependency "bundler", "~> 1.17"
44
44
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orm_adapter-fmrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Meier
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-18 00:00:00.000000000 Z
11
+ date: 2022-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -57,6 +57,9 @@ dependencies:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.5.0
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.5'
60
63
  type: :runtime
61
64
  prerelease: false
62
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -64,20 +67,23 @@ dependencies:
64
67
  - - ">="
65
68
  - !ruby/object:Gem::Version
66
69
  version: 0.5.0
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.5'
67
73
  - !ruby/object:Gem::Dependency
68
74
  name: fmrest
69
75
  requirement: !ruby/object:Gem::Requirement
70
76
  requirements:
71
- - - ">="
77
+ - - "~>"
72
78
  - !ruby/object:Gem::Version
73
- version: 0.18.0
79
+ version: '0.18'
74
80
  type: :runtime
75
81
  prerelease: false
76
82
  version_requirements: !ruby/object:Gem::Requirement
77
83
  requirements:
78
- - - ">="
84
+ - - "~>"
79
85
  - !ruby/object:Gem::Version
80
- version: 0.18.0
86
+ version: '0.18'
81
87
  - !ruby/object:Gem::Dependency
82
88
  name: bundler
83
89
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +126,7 @@ dependencies:
120
126
  - - "~>"
121
127
  - !ruby/object:Gem::Version
122
128
  version: '3.0'
123
- description:
129
+ description:
124
130
  email:
125
131
  - martin@itcmeier.de
126
132
  executables: []
@@ -129,6 +135,7 @@ extra_rdoc_files: []
129
135
  files:
130
136
  - ".gitignore"
131
137
  - ".travis.yml"
138
+ - CHANGELOG.md
132
139
  - CODE_OF_CONDUCT.md
133
140
  - Gemfile
134
141
  - LICENSE.txt
@@ -147,7 +154,7 @@ metadata:
147
154
  homepage_uri: https://github.com/mameier
148
155
  source_code_uri: https://github.com/mameier/orm_adapter-fmrest
149
156
  changelog_uri: https://github.com/mameier/orm_adapter-fmrest/CHANGELOG.md
150
- post_install_message:
157
+ post_install_message:
151
158
  rdoc_options: []
152
159
  require_paths:
153
160
  - lib
@@ -163,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
170
  version: '0'
164
171
  requirements: []
165
172
  rubygems_version: 3.0.3
166
- signing_key:
173
+ signing_key:
167
174
  specification_version: 4
168
175
  summary: Adds Filemaker Rest to the orm_adaptor project.
169
176
  test_files: []