airtable-rails 1.0 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/airtable_rails/table.rb +4 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df2fe746f7f93e20c119464ef08d485e2c3140e2b7a0f1c556d8963d229535c6
|
4
|
+
data.tar.gz: 2d78535c672ebb226fcd30bd2b3dae25b5e07426fdb6ef5026c735e997e35b36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c99733431dac866d6d07c8cdf0b68f95d8e6ef3a12a6f906cca06eb7101d21ae017b5fa741c891873204b8aa2b53b3ad3f4efe47c67951ec12d98075fa3aaa3
|
7
|
+
data.tar.gz: 7b81f1db9805ff6eed6febb56011157a37d11902c96188a51f3ffd99ab07da48ca51076399a8d047c934eed9c2d98f7d4ca3c4e93b8cdbf84287e24decb35110
|
data/lib/airtable_rails/table.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module AirtableRails
|
2
2
|
class Table
|
3
|
-
def initialize(table_name)
|
3
|
+
def initialize(table_name, force_write: false)
|
4
|
+
@force_write = force_write
|
4
5
|
@client = Airtable::Client.new(ENV.fetch("AIRTABLE_API_KEY"))
|
5
6
|
@table = @client.table(ENV.fetch("AIRTABLE_APP_ID"), table_name)
|
6
7
|
end
|
@@ -12,7 +13,7 @@ module AirtableRails
|
|
12
13
|
# Write methods
|
13
14
|
%w(create update destroy).each do |method_name|
|
14
15
|
define_method method_name do |*args|
|
15
|
-
if Rails.env.production?
|
16
|
+
if Rails.env.production? || force_write
|
16
17
|
table.public_send(method_name, *args)
|
17
18
|
else
|
18
19
|
Rails.logger.info("AIRTABLE: #{table.worksheet_name}.#{method_name}(#{args.map(&:inspect).join(", ")})")
|
@@ -27,6 +28,6 @@ module AirtableRails
|
|
27
28
|
|
28
29
|
private
|
29
30
|
|
30
|
-
attr_reader :client, :table
|
31
|
+
attr_reader :client, :table, :force_write
|
31
32
|
end
|
32
33
|
end
|