orm_adapter-fmrest 0.1.0 → 0.1.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
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: []