Sha256: 5ad7c1d6036d0b32955f5b39b34bee87335aba94b981960be88307082b77dfd5

Contents?: true

Size: 794 Bytes

Versions: 36

Compression:

Stored size: 794 Bytes

Contents

module C80MapFloors
  class Setting < ActiveRecord::Base
    mount_uploader :map_image, C80MapFloors::MapImageUploader
    after_save :update_json

    def map_img
      MiniMagick::Image.open(map_image.path)
    end

    protected

    def update_json

      if self.map_image.present?
        locations_path = Rails.root.join("public", "locations.json")
        locs = File.read(locations_path)
        puts "<update_json> #{ Rails.root.join("public", "locations.json") }"

        locs_hash = JSON.parse(locs)
        locs_hash["mapwidth"] = map_img["width"].to_s
        locs_hash["mapheight"] = map_img["height"].to_s
        locs_hash["img"] = map_image.url.to_s

        File.open(locations_path, 'w') do |f|
          f.write(locs_hash.to_json)
        end
      end

    end

  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
c80_map_floors-0.2.2 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.1 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.8 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.7 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.6 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.5 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.4 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.3 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.2 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.1 app/models/c80_map_floors/setting.rb
c80_map_floors-0.2.0.0 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.25 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.24 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.23 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.22 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.21 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.20 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.19 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.18 app/models/c80_map_floors/setting.rb
c80_map_floors-0.1.0.17 app/models/c80_map_floors/setting.rb