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 +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +3 -2
- data/lib/devise/orm/fmrest.rb +2 -1
- data/lib/orm_adapter/fmrest/adapter.rb +15 -3
- data/lib/orm_adapter/fmrest/version.rb +1 -1
- data/orm_adapter-fmrest.gemspec +2 -2
- metadata +17 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 524ca147efac8a6e7f996e3a1f44bf70471d276c396abc56de75dbbfcdde05da
|
4
|
+
data.tar.gz: 0aad80bcbc591b7055f3efefd05629219ace7f3444f16da107cfcaa737e852e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 462edd4b1892bbc3c533fd2c9b6bed12c6cea4e3967cc726e28acd793167b7fbc8f84e03dd5bb6b147e662baf25e580a1cafe504b06d8fe347f239eabbb171fc
|
7
|
+
data.tar.gz: d833a66bf2eca2ceb86b050bde9415f98792ac175cd3fcaf4787c3df9bbc5c15015587c79c8b3d09e4dc500946c18c41e3dbb4926b5ce5e45b88ba46e43e77bc
|
data/CHANGELOG.md
ADDED
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
|
-
|
58
|
+
include ActiveModel::Validations
|
59
|
+
include ActiveModel::Validations::Callbacks
|
60
60
|
|
61
|
+
devise :database_authenticatable, :rememberable, :trackable
|
61
62
|
|
62
63
|
end
|
63
64
|
```
|
data/lib/devise/orm/fmrest.rb
CHANGED
@@ -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
|
92
|
-
relation =
|
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 }
|
data/orm_adapter-fmrest.gemspec
CHANGED
@@ -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', '
|
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.
|
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:
|
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
|
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
|
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: []
|