Sha256: bfe3fb40fffdc7bd0335c1008e038e7fba3a9405997402ee8f87131c0bdb9168
Contents?: true
Size: 1.18 KB
Versions: 6
Compression:
Stored size: 1.18 KB
Contents
# "Swiss", RubyMotion Android SQLite by VirtualQ # schema loader stuff # i know it's rough but it works class Object attr_accessor :current_schema # convenience methods def log(tag, str) Android::Util::Log.d(tag, str) end def puts(str) log "general", str end def current_schema @current_schema end def schema(schema_name, &block) puts "running schema for #{schema_name}" @current_schema = {} @database_name = schema_name block.call puts @current_schema.inspect end def entity(table_name, &block) puts "adding entity #{table_name} to schema" @table_name = table_name @current_schema[@table_name] = {} block.call $current_schema = @current_schema # there was no other way. I couldn't get context to create the model here. end def add_column(name, type) @current_schema[@table_name][name] = type end def boolean(column_name) add_column column_name.to_s, "BOOLEAN" end def string(column_name) add_column column_name.to_s, "VARCHAR" end def integer32(column_name) add_column column_name.to_s, "INTEGER" end def double(column_name) add_column column_name.to_s, "DOUBLE" end end
Version data entries
6 entries across 6 versions & 1 rubygems