Sha256: eba6f4b9bc0058c3a6535cf93f3fe556cb0f7b14d1a350f7b2fd1478fd5a6378

Contents?: true

Size: 646 Bytes

Versions: 9

Compression:

Stored size: 646 Bytes

Contents

require "coderay"

event :validate_json, :validate, on: :save, changed: :content do
  check_json_syntax if content.present?
end

def check_json_syntax
  parse_content
rescue JSON::ParserError => e
  errors.add t(:format_invalid_json), e.message.sub(/^\d+: /, "").to_s
end

def parse_content
  JSON.parse content
end

def item_names _args={}
  parse_content.keys.map(&:to_name)
end

def item_values
  parse_content.values
end

def item_value name
  parse_content[name]
end

format :html do
  view :core do
    process_content ::CodeRay.scan(_render_raw, :json).div
  end

  def input_type
    :ace_editor
  end

  def ace_mode
    :json
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
card-mod-format-0.14.2 set/type/json.rb
card-mod-format-0.14.1 set/type/json.rb
card-mod-format-0.14.0 set/type/json.rb
card-mod-format-0.13.4 set/type/json.rb
card-mod-format-0.13.3 set/type/json.rb
card-mod-format-0.13.2 set/type/json.rb
card-mod-format-0.13.1 set/type/json.rb
card-mod-format-0.13.0 set/type/json.rb
card-mod-format-0.12.0 set/type/json.rb