editmode 1.3.5 → 1.5.0
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/README.md +3 -1
 - data/lib/editmode.rb +30 -1
 - data/lib/editmode/action_view_extensions/editmode_helper.rb +5 -4
 - data/lib/editmode/chunk.rb +26 -0
 - data/lib/editmode/chunk_value.rb +10 -7
 - data/lib/editmode/helper.rb +2 -1
 - data/lib/editmode/version.rb +1 -1
 - data/lib/generators/editmode/templates/editmode.rb.erb +8 -2
 - metadata +7 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 500fe0cf37b2d0586d015874d1125ba7f03e71431db4e60d337f5a9dcc61f2b5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 99adf389c43e829add85c044ac4527bcf4db957f5e31d16cc74a2c3bc37dea33
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ba38286569b3724873f8ce653057e170cc816800e31901aeb7838b2aedca51a73568f850c4d50f249b0e411b648f98cf72e81e4590e778cf7b996afff751583a
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 882ff9cca0f75438c613bb22e07cc380f5727ebe4b8d435b88794696d90d82c0f51d34ad884fe1ad1a432a64a9e0bfe50ee95df5cc937d1d9d2f80823a074a76
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -119,7 +119,7 @@ Use `transformation` attribute to perform real-time image transformations to del 
     | 
|
| 
       119 
119 
     | 
    
         
             
              = F('Avatar', transformation: "w-200 h-200")
         
     | 
| 
       120 
120 
     | 
    
         
             
            ```
         
     | 
| 
       121 
121 
     | 
    
         | 
| 
       122 
     | 
    
         
            -
            Please see complete list of [transformation parameters](https://editmode.com/docs#/imagekit_properties).
         
     | 
| 
      
 122 
     | 
    
         
            +
            Please see the complete list of [transformation parameters](https://editmode.com/docs#/imagekit_properties).
         
     | 
| 
       123 
123 
     | 
    
         | 
| 
       124 
124 
     | 
    
         
             
            ## Caching
         
     | 
| 
       125 
125 
     | 
    
         
             
            In order to keep your application speedy, Editmode minimizes the amount of network calls it makes by caching content where it can. 
         
     | 
| 
         @@ -139,6 +139,8 @@ The editmode gem exposes a cache expiration endpoint in your application at `/ed 
     | 
|
| 
       139 
139 
     | 
    
         | 
| 
       140 
140 
     | 
    
         
             
            The cache expiration endpoint is currently **not** authenticated.
         
     | 
| 
       141 
141 
     | 
    
         | 
| 
      
 142 
     | 
    
         
            +
            ?> We are using a method called `delete_matched` to purge your caches when a content gets updated, and this method isn't supported in `memcached`. We highly recommend using `redis_store` or `file_store`.
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
       142 
144 
     | 
    
         
             
            ## Disabling editmode.js auto-include
         
     | 
| 
       143 
145 
     | 
    
         | 
| 
       144 
146 
     | 
    
         
             
            To disable automatic insertion for a particular controller or action you can:
         
     | 
    
        data/lib/editmode.rb
    CHANGED
    
    | 
         @@ -8,11 +8,17 @@ require 'editmode/railtie' if defined? Rails 
     | 
|
| 
       8 
8 
     | 
    
         
             
            require 'editmode/engine' if defined?(Rails)
         
     | 
| 
       9 
9 
     | 
    
         
             
            require 'editmode/monkey_patches'
         
     | 
| 
       10 
10 
     | 
    
         
             
            require 'editmode/logger'
         
     | 
| 
      
 11 
     | 
    
         
            +
            require 'editmode/chunk'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       11 
13 
     | 
    
         
             
            module Editmode
         
     | 
| 
       12 
14 
     | 
    
         
             
              class << self
         
     | 
| 
       13 
15 
     | 
    
         
             
                include Editmode::ActionViewExtensions::EditmodeHelper
         
     | 
| 
       14 
16 
     | 
    
         
             
                include Editmode::Helper
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
      
 18 
     | 
    
         
            +
                def api_root_url
         
     | 
| 
      
 19 
     | 
    
         
            +
                  ENV["EDITMODE_OVERRIDE_API_URL"] || "https://api.editmode.com"
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
       16 
22 
     | 
    
         
             
                def project_id=(id)
         
     | 
| 
       17 
23 
     | 
    
         
             
                  config.project_id = id
         
     | 
| 
       18 
24 
     | 
    
         
             
                end
         
     | 
| 
         @@ -52,11 +58,30 @@ module Editmode 
     | 
|
| 
       52 
58 
     | 
    
         
             
                    puts er
         
     | 
| 
       53 
59 
     | 
    
         
             
                  end
         
     | 
| 
       54 
60 
     | 
    
         
             
                end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                def cache_all!(chunks)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  chunks.each do |chunk|
         
     | 
| 
      
 64 
     | 
    
         
            +
                    project_id = chunk["project_id"]
         
     | 
| 
      
 65 
     | 
    
         
            +
                    identifier = chunk["identifier"]
         
     | 
| 
      
 66 
     | 
    
         
            +
                    content_key = chunk["content_key"]
         
     | 
| 
      
 67 
     | 
    
         
            +
                    json_data = chunk.to_json
         
     | 
| 
      
 68 
     | 
    
         
            +
                    Rails.cache.write("chunk_#{project_id}#{identifier}", json_data)
         
     | 
| 
      
 69 
     | 
    
         
            +
                    Rails.cache.write("chunk_#{project_id}#{content_key}", json_data) if content_key.present?
         
     | 
| 
      
 70 
     | 
    
         
            +
                  end
         
     | 
| 
      
 71 
     | 
    
         
            +
                end
         
     | 
| 
       55 
72 
     | 
    
         
             
              end
         
     | 
| 
       56 
73 
     | 
    
         | 
| 
       57 
74 
     | 
    
         
             
              class Configuration
         
     | 
| 
       58 
75 
     | 
    
         
             
                attr_accessor :access_token, :variable
         
     | 
| 
       59 
     | 
    
         
            -
                attr_reader :project_id, :log_level
         
     | 
| 
      
 76 
     | 
    
         
            +
                attr_reader :project_id, :log_level, :preload
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
                def preload=(bool)
         
     | 
| 
      
 79 
     | 
    
         
            +
                  @preload = bool
         
     | 
| 
      
 80 
     | 
    
         
            +
                  if bool
         
     | 
| 
      
 81 
     | 
    
         
            +
                    chunks = Editmode::Chunk.retrieve
         
     | 
| 
      
 82 
     | 
    
         
            +
                    Editmode.cache_all!(chunks)
         
     | 
| 
      
 83 
     | 
    
         
            +
                  end
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
       60 
85 
     | 
    
         | 
| 
       61 
86 
     | 
    
         
             
                def logger
         
     | 
| 
       62 
87 
     | 
    
         
             
                  @logger ||= Editmode::Logger.new
         
     | 
| 
         @@ -64,6 +89,10 @@ module Editmode 
     | 
|
| 
       64 
89 
     | 
    
         | 
| 
       65 
90 
     | 
    
         
             
                def project_id=(id)
         
     | 
| 
       66 
91 
     | 
    
         
             
                  @project_id = id
         
     | 
| 
      
 92 
     | 
    
         
            +
                  if preload
         
     | 
| 
      
 93 
     | 
    
         
            +
                    chunks = Editmode::Chunk.retrieve(id)
         
     | 
| 
      
 94 
     | 
    
         
            +
                    Editmode.cache_all!(chunks)
         
     | 
| 
      
 95 
     | 
    
         
            +
                  end
         
     | 
| 
       67 
96 
     | 
    
         
             
                end
         
     | 
| 
       68 
97 
     | 
    
         | 
| 
       69 
98 
     | 
    
         
             
                def log_level=(level)
         
     | 
| 
         @@ -63,10 +63,10 @@ module Editmode 
     | 
|
| 
       63 
63 
     | 
    
         | 
| 
       64 
64 
     | 
    
         
             
                        if chunks.any?
         
     | 
| 
       65 
65 
     | 
    
         
             
                          content_tag :div, class: "chunks-collection-wrapper #{parent_class}", data: {chunk_collection_identifier: collection_identifier} do
         
     | 
| 
       66 
     | 
    
         
            -
                            chunks. 
     | 
| 
      
 66 
     | 
    
         
            +
                            chunks.each_with_index do |chunk, index|
         
     | 
| 
       67 
67 
     | 
    
         
             
                              @custom_field_chunk = chunk
         
     | 
| 
       68 
68 
     | 
    
         
             
                              concat(content_tag(:div, class: "chunks-collection-item--wrapper #{item_class}") do
         
     | 
| 
       69 
     | 
    
         
            -
                                yield(@custom_field_chunk)
         
     | 
| 
      
 69 
     | 
    
         
            +
                                yield(@custom_field_chunk, index)
         
     | 
| 
       70 
70 
     | 
    
         
             
                              end)
         
     | 
| 
       71 
71 
     | 
    
         
             
                            end
         
     | 
| 
       72 
72 
     | 
    
         | 
| 
         @@ -163,7 +163,7 @@ module Editmode 
     | 
|
| 
       163 
163 
     | 
    
         
             
                    # prevent the page from loading.
         
     | 
| 
       164 
164 
     | 
    
         
             
                    begin
         
     | 
| 
       165 
165 
     | 
    
         
             
                      field = options[:field].presence || ""          
         
     | 
| 
       166 
     | 
    
         
            -
                      options[:referrer] = request.url
         
     | 
| 
      
 166 
     | 
    
         
            +
                      options[:referrer] = request.present? && request.url || ""
         
     | 
| 
       167 
167 
     | 
    
         
             
                      chunk_value = Editmode::ChunkValue.new(identifier, options)
         
     | 
| 
       168 
168 
     | 
    
         | 
| 
       169 
169 
     | 
    
         
             
                      if field.present? && chunk_value.chunk_type == 'collection_item'
         
     | 
| 
         @@ -182,11 +182,12 @@ module Editmode 
     | 
|
| 
       182 
182 
     | 
    
         
             
                      render_chunk_content(identifier, chunk_content, chunk_type, options)
         
     | 
| 
       183 
183 
     | 
    
         | 
| 
       184 
184 
     | 
    
         
             
                    rescue => error
         
     | 
| 
      
 185 
     | 
    
         
            +
                      puts error
         
     | 
| 
       185 
186 
     | 
    
         
             
                      # Show fallback content by default
         
     | 
| 
       186 
187 
     | 
    
         
             
                      return content_tag("em-span", &block) if block_given?
         
     | 
| 
       187 
188 
     | 
    
         
             
                      # Otherwise show a span with no content to 
         
     | 
| 
       188 
189 
     | 
    
         
             
                      # maintain layout
         
     | 
| 
       189 
     | 
    
         
            -
                      content_tag("em-span", " ".html_safe) 
     | 
| 
      
 190 
     | 
    
         
            +
                      content_tag("em-span", " ".html_safe)
         
     | 
| 
       190 
191 
     | 
    
         
             
                    end
         
     | 
| 
       191 
192 
     | 
    
         
             
                  end
         
     | 
| 
       192 
193 
     | 
    
         
             
                  alias_method :chunk, :chunk_display
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class Editmode::Chunk
         
     | 
| 
      
 2 
     | 
    
         
            +
              def initialize
         
     | 
| 
      
 3 
     | 
    
         
            +
              end
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              class << self
         
     | 
| 
      
 6 
     | 
    
         
            +
                def retrieve(project_id = Editmode.project_id, options = {})
         
     | 
| 
      
 7 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 8 
     | 
    
         
            +
                    root_url = Editmode.api_root_url
         
     | 
| 
      
 9 
     | 
    
         
            +
                    chunk_id = options[:identifier] || options[:content_key]
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    url = "#{root_url}/chunks/#{chunk_id}?project_id=#{project_id}"
         
     | 
| 
      
 12 
     | 
    
         
            +
                    response = HTTParty.get(url)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    if chunk_id.present?
         
     | 
| 
      
 15 
     | 
    
         
            +
                      return response
         
     | 
| 
      
 16 
     | 
    
         
            +
                    else
         
     | 
| 
      
 17 
     | 
    
         
            +
                      chunks = response.try(:[], "chunks")
         
     | 
| 
      
 18 
     | 
    
         
            +
                      chunks ||= []
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
                  rescue => er
         
     | 
| 
      
 21 
     | 
    
         
            +
                    Rails.logger.info er
         
     | 
| 
      
 22 
     | 
    
         
            +
                    []
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/editmode/chunk_value.rb
    CHANGED
    
    | 
         @@ -133,33 +133,36 @@ module Editmode 
     | 
|
| 
       133 
133 
     | 
    
         
             
                def query_params
         
     | 
| 
       134 
134 
     | 
    
         
             
                  the_params = { 'project_id' => project_id }
         
     | 
| 
       135 
135 
     | 
    
         
             
                  the_params['branch_id'] = branch_id if branch_id.present?
         
     | 
| 
       136 
     | 
    
         
            -
                  the_params['transformation'] = @transformation if @transformation.present?
         
     | 
| 
       137 
136 
     | 
    
         | 
| 
       138 
137 
     | 
    
         
             
                  the_params
         
     | 
| 
       139 
138 
     | 
    
         
             
                end
         
     | 
| 
       140 
139 
     | 
    
         | 
| 
       141 
140 
     | 
    
         
             
                def get_content
         
     | 
| 
       142 
141 
     | 
    
         
             
                  if !cached?
         
     | 
| 
       143 
     | 
    
         
            -
                     
     | 
| 
       144 
     | 
    
         
            -
                    response_received = true if  
     | 
| 
      
 142 
     | 
    
         
            +
                    @response = HTTParty.get(url, query: query_params, headers: {referrer: @referrer})
         
     | 
| 
      
 143 
     | 
    
         
            +
                    response_received = true if @response.code == 200
         
     | 
| 
       145 
144 
     | 
    
         
             
                  end
         
     | 
| 
       146 
145 
     | 
    
         | 
| 
       147 
146 
     | 
    
         
             
                  if !cached? && !response_received
         
     | 
| 
       148 
     | 
    
         
            -
                    message =  
     | 
| 
      
 147 
     | 
    
         
            +
                    message = @response.try(:[], 'message') || no_response_received(identifier)
         
     | 
| 
       149 
148 
     | 
    
         | 
| 
       150 
149 
     | 
    
         
             
                    raise message
         
     | 
| 
       151 
150 
     | 
    
         
             
                  else
         
     | 
| 
       152 
     | 
    
         
            -
                    Rails.cache.write(cache_identifier,  
     | 
| 
      
 151 
     | 
    
         
            +
                    Rails.cache.write(cache_identifier, @response.to_json) if @response.present?
         
     | 
| 
       153 
152 
     | 
    
         
             
                    cached_response = Rails.cache.fetch(cache_identifier)
         
     | 
| 
       154 
153 
     | 
    
         | 
| 
       155 
     | 
    
         
            -
                     
     | 
| 
      
 154 
     | 
    
         
            +
                    if cached_response.present?
         
     | 
| 
      
 155 
     | 
    
         
            +
                      @response = json?(cached_response) ? JSON.parse(cached_response) : cached_response
         
     | 
| 
      
 156 
     | 
    
         
            +
                    end
         
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
       156 
158 
     | 
    
         
             
                    set_response_attributes!
         
     | 
| 
       157 
159 
     | 
    
         
             
                  end
         
     | 
| 
       158 
160 
     | 
    
         
             
                end
         
     | 
| 
       159 
161 
     | 
    
         | 
| 
       160 
162 
     | 
    
         
             
                def set_response_attributes!
         
     | 
| 
       161 
     | 
    
         
            -
                  @content = response['content']
         
     | 
| 
       162 
163 
     | 
    
         
             
                  @chunk_type = response['chunk_type']
         
     | 
| 
      
 164 
     | 
    
         
            +
                  
         
     | 
| 
      
 165 
     | 
    
         
            +
                  @content = @chunk_type == 'image' ? set_transformation_properties!(response['content']) : response['content'] 
         
     | 
| 
       163 
166 
     | 
    
         
             
                  @variable_fallbacks = response['variable_fallbacks'].presence || {}
         
     | 
| 
       164 
167 
     | 
    
         
             
                  @collection_id = response["collection"]["identifier"] if chunk_type == 'collection_item'
         
     | 
| 
       165 
168 
     | 
    
         
             
                  @branch_id = response['branch_id']
         
     | 
    
        data/lib/editmode/helper.rb
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ module Editmode 
     | 
|
| 
       5 
5 
     | 
    
         
             
                  field, options = parse_arguments(args)
         
     | 
| 
       6 
6 
     | 
    
         
             
                  begin
         
     | 
| 
       7 
7 
     | 
    
         
             
                    chunk = Editmode::ChunkValue.new(identifier, options.merge({raw: true}))
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                    
         
     | 
| 
       9 
9 
     | 
    
         
             
                    if chunk.chunk_type == 'collection_item'
         
     | 
| 
       10 
10 
     | 
    
         
             
                      chunk.field(field)
         
     | 
| 
       11 
11 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -13,6 +13,7 @@ module Editmode 
     | 
|
| 
       13 
13 
     | 
    
         
             
                    end 
         
     | 
| 
       14 
14 
     | 
    
         
             
                  rescue => er
         
     | 
| 
       15 
15 
     | 
    
         
             
                    Rails.logger.info "#{er}: We can't render content for #{identifier}"
         
     | 
| 
      
 16 
     | 
    
         
            +
                    return ""
         
     | 
| 
       16 
17 
     | 
    
         
             
                  end
         
     | 
| 
       17 
18 
     | 
    
         
             
                end
         
     | 
| 
       18 
19 
     | 
    
         | 
    
        data/lib/editmode/version.rb
    CHANGED
    
    
| 
         @@ -1,5 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Editmode.setup do |config|
         
     | 
| 
       2 
     | 
    
         
            -
              # Replace TodoProjectId with your Editmode Project ID, 
         
     | 
| 
       3 
     | 
    
         
            -
              # visit https://editmode.com/projects
         
     | 
| 
       4 
2 
     | 
    
         
             
              config.project_id = "<%= @project_id %>"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              # Enables logging on every API request
         
     | 
| 
      
 5 
     | 
    
         
            +
              # config.log_level = :silence
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              # Preload contents - this will take all the contents
         
     | 
| 
      
 8 
     | 
    
         
            +
              # from the project specified in config.project_id
         
     | 
| 
      
 9 
     | 
    
         
            +
              # and store it to your Application cache.
         
     | 
| 
      
 10 
     | 
    
         
            +
              # config.preload = true
         
     | 
| 
       5 
11 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: editmode
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Tony Ennis
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire:
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-04-26 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -82,6 +82,7 @@ files: 
     | 
|
| 
       82 
82 
     | 
    
         
             
            - lib/editmode.rb
         
     | 
| 
       83 
83 
     | 
    
         
             
            - lib/editmode/action_view_extensions/editmode_helper.rb
         
     | 
| 
       84 
84 
     | 
    
         
             
            - lib/editmode/auto_include_filter.rb
         
     | 
| 
      
 85 
     | 
    
         
            +
            - lib/editmode/chunk.rb
         
     | 
| 
       85 
86 
     | 
    
         
             
            - lib/editmode/chunk_value.rb
         
     | 
| 
       86 
87 
     | 
    
         
             
            - lib/editmode/engine.rb
         
     | 
| 
       87 
88 
     | 
    
         
             
            - lib/editmode/helper.rb
         
     | 
| 
         @@ -96,7 +97,7 @@ homepage: https://github.com/tonyennis145/editmode-rails 
     | 
|
| 
       96 
97 
     | 
    
         
             
            licenses:
         
     | 
| 
       97 
98 
     | 
    
         
             
            - MIT
         
     | 
| 
       98 
99 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       99 
     | 
    
         
            -
            post_install_message:
         
     | 
| 
      
 100 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
       100 
101 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       101 
102 
     | 
    
         
             
            require_paths:
         
     | 
| 
       102 
103 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -111,8 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       111 
112 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       112 
113 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       113 
114 
     | 
    
         
             
            requirements: []
         
     | 
| 
       114 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       115 
     | 
    
         
            -
            signing_key:
         
     | 
| 
      
 115 
     | 
    
         
            +
            rubygems_version: 3.0.3.1
         
     | 
| 
      
 116 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
       116 
117 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       117 
118 
     | 
    
         
             
            summary: Editmode allows you to turn plain text in your rails app into easily inline-editable
         
     | 
| 
       118 
119 
     | 
    
         
             
              bits of content that can be managed by anyone with no technical knowledge
         
     |