Sha256: 8a90cb95645a61b54b5345ce71af27bbc1b39a8e9f6cead7df25324165528c4b
Contents?: true
Size: 817 Bytes
Versions: 4
Compression:
Stored size: 817 Bytes
Contents
# frozen_string_literal: true class FolderModel class << self def find(key) new(key) end def all Dir["db/#{self.to_s.tableize}/*.json"].map{|file| new file.split('/').last.sub('.json') } end end ### def [](key) @data[key] end def []=(key, value) @data[key] = value end def method_missing(name, *args) func = name.to_s.split('=')[0].to_sym if name.to_s.index('=') @data[func] = args[0] else # raise "Field #{name} not found" @data[func] end end def save @storage.write JSON.pretty_generate(@data) @data end alias :save! :save def initialize(key) @key = key @storage = Pathname.new("db/#{self.class.to_s.tableize}/#{key}.json") @data = JSON.parse @storage.read @data = @data.h end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
lux-fw-0.2.3 | ./lib/common/folder_model.rb |
lux-fw-0.2.1 | ./lib/common/folder_model.rb |
lux-fw-0.1.35 | ./lib/common/folder_model.rb |
lux-fw-0.1.17 | ./lib/common/folder_model.rb |