Sha256: 589e41e116be1a67714c1716952413d0f03f94838c9dde7c30e41afe5ac1146f

Contents?: true

Size: 522 Bytes

Versions: 21

Compression:

Stored size: 522 Bytes

Contents

module Applicat::Mvc::Model::Tokenable
  extend ActiveSupport::Concern 
  
  included do
    
  end
  
  module ClassMethods
    def tokens(query)
      collection = where("name like ?", "%#{query}%")
      
      if collection.empty?
        [{id: "<<<#{query}>>>", name: "#{I18n.t('general.new')}: \"#{query}\""}]
      else
        collection
      end
    end
  
    def ids_from_tokens(tokens)
      tokens.gsub!(/<<<(.+?)>>>/) { create!(name: $1).id }
      tokens.split(',')
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
voluntary-0.7.1 lib/applicat/mvc/model/tokenable.rb
voluntary-0.7.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.6.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.5.2 lib/applicat/mvc/model/tokenable.rb
voluntary-0.5.1 lib/applicat/mvc/model/tokenable.rb
voluntary-0.5.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.4.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.3.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.2.4 lib/applicat/mvc/model/tokenable.rb
voluntary-0.2.3 lib/applicat/mvc/model/tokenable.rb
voluntary-0.2.2 lib/applicat/mvc/model/tokenable.rb
voluntary-0.2.1 lib/applicat/mvc/model/tokenable.rb
voluntary-0.2.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.1.0 lib/applicat/mvc/model/tokenable.rb
voluntary-0.1.0.rc4 lib/applicat/mvc/model/tokenable.rb
voluntary-0.1.0.rc3 lib/applicat/mvc/model/tokenable.rb
voluntary-0.1.0.rc2 lib/applicat/mvc/model/tokenable.rb
voluntary-0.1.0.rc1 lib/applicat/mvc/model/tokenable.rb
voluntary-0.0.3 lib/applicat/mvc/model/tokenable.rb
voluntary-0.0.2 lib/applicat/mvc/model/tokenable.rb