Skip to content

Commit a3e59b2

Browse files
committed
added jsonb accessor dependency and uniqueness validations
added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations added jsonb accessor dependency and uniqueness validations
1 parent 5c059b4 commit a3e59b2

File tree

6 files changed

+17
-16
lines changed

6 files changed

+17
-16
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
- if asset
2-
= image_tag(asset_thumb(asset), height: '50px')
2+
= image_tag(asset['style_urls'][config[:thumbnail_style]], height: '50px')

app/cells/plugins/core/asset_info_cell.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ def config
2020
@options[:config] || {}
2121
end
2222

23-
def asset_thumb(asset)
24-
asset['style_urls'] ? asset['style_urls'][config[:thumbnail_style]] : 'https://secure.gravatar.com/avatar/f995c9cc06a8282138cf6c0691396f6d'
25-
end
26-
2723
def asset
2824
data['asset']
2925
end

app/models/asset_field_type.rb

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class AssetFieldType < FieldType
1616
validate :validate_asset_content_type, if: :validate_content_type?
1717

1818
def metadata=(metadata_hash)
19-
@metadata = format_data(metadata_hash).deep_symbolize_keys
19+
@metadata = metadata_hash.deep_symbolize_keys
2020
@existing_data = metadata_hash[:existing_data]
2121
Paperclip::HasAttachedFile.define_on(self.class, :asset, existing_metadata)
2222
end
@@ -52,15 +52,6 @@ def mapping
5252

5353
private
5454

55-
def is_image(mime_type)
56-
["image/jpeg", "image/pjpeg", "image/png","application/pdf" ,"image/x-png", "image/gif"].include?(mime_type)
57-
end
58-
59-
def format_data(metadata_hash)
60-
return metadata_hash if is_image(metadata_hash[:content_type])
61-
metadata_hash.reject{|k| k == "processors"}
62-
end
63-
6455
def image?
6556
asset_content_type =~ %r{^(image|(x-)?application)/(bmp|gif|jpeg|jpg|pjpeg|png|x-png)$}
6657
end

app/models/text_field_type.rb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
class TextFieldType < FieldType
22
attr_accessor :text
3+
jsonb_accessor :data, text: :string
34

45
validates :text, presence: true, if: :validate_presence?
56
validate :text_length, if: :validate_length?
7+
validate :text_unique, if: :validate_uniqueness?
68

79
def data=(data_hash)
810
@text = data_hash.deep_symbolize_keys[:text]
@@ -25,14 +27,24 @@ def mapping_field_name
2527
end
2628

2729
def text_present
28-
errors.add(:text, "must be present") if @text.empty?
30+
errors.add(:text, 'must be present') if @text.empty?
2931
end
3032

3133
def text_length
3234
validator = LengthValidator.new(validations[:length].merge(attributes: [:text]))
3335
validator.validate_each(self, :text, text)
3436
end
3537

38+
def text_unique
39+
unless Field.find_by_name(field_info.name).field_items.jsonb_contains(:data, text: text).empty?
40+
errors.add(:text, "#{field_info.name} Must be unique")
41+
end
42+
end
43+
44+
def validate_uniqueness?
45+
@validations.key? :uniqueness
46+
end
47+
3648
def validate_presence?
3749
@validations.key? :presence
3850
end

cortex-plugins-core.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
2222
s.add_dependency "cells-haml", "~> 0.0.10"
2323
s.add_dependency "mimemagic", "~> 0.3.2"
2424
s.add_dependency "ckeditor", "= 4.2.0"
25+
s.add_dependency "jsonb_accessor", "~> 1.0.0.beta.2"
2526

2627
s.add_development_dependency "sqlite3"
2728
end

lib/cortex/plugins/core/engine.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'ckeditor'
2+
require 'jsonb_accessor'
23

34
module Cortex
45
module Plugins

0 commit comments

Comments
 (0)