Skip to content
This repository has been archived by the owner on Sep 30, 2018. It is now read-only.

Commit

Permalink
Use localStorage directly instead of LocalStorage
Browse files Browse the repository at this point in the history
  • Loading branch information
adambeynon committed Sep 2, 2013
1 parent 1ba5c90 commit 89df1a5
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions opal/vienna/adapters/local.rb
@@ -1,9 +1,12 @@
require 'vienna/adapters/base'
require 'opal-browser/local_storage'

module Vienna
# Adapter using LocalStorage as a backend
class LocalAdapter < Adapter
def initialize
@storage = $global.localStorage
end

def create_record(record, &block)
record.id = self.unique_id

Expand All @@ -27,7 +30,7 @@ def delete_record(record, &block)
end

def find_all(klass, &block)
if data = Browser::LocalStorage[klass.name]
if data = @storage.getItem(klass.name)
models = JSON.parse(data).map { |m| klass.load(m) }
block.call(models) if block
end
Expand All @@ -36,7 +39,7 @@ def find_all(klass, &block)
# sync all records in given class to localstorage, now!
def sync_models(klass)
name = klass.name
Browser::LocalStorage[name] = klass.all.to_json
@storage.setItem name, klass.all.to_json
end

# generate a new unique id.. just use timestamp for now
Expand Down

0 comments on commit 89df1a5

Please sign in to comment.