diff --git a/.gitignore b/.gitignore index 5df1b9b..209ecf4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .sass-cache +*.db diff --git a/Gemfile b/Gemfile index 6cf42f8..1035b44 100644 --- a/Gemfile +++ b/Gemfile @@ -4,9 +4,16 @@ gem 'sinatra' gem 'haml' gem 'thin' gem 'sass' +gem 'datamapper' + +group :production do + gem 'pg' + gem 'dm-postgres-adapter' +end group :development do gem 'shotgun' + gem 'dm-sqlite-adapter' end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 0b6863f..8f91da0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,70 @@ GEM remote: http://rubygems.org/ specs: + addressable (2.2.6) + bcrypt-ruby (3.0.1) daemons (1.1.4) + data_objects (0.10.7) + addressable (~> 2.1) + datamapper (1.2.0) + dm-aggregates (~> 1.2.0) + dm-constraints (~> 1.2.0) + dm-core (~> 1.2.0) + dm-migrations (~> 1.2.0) + dm-serializer (~> 1.2.0) + dm-timestamps (~> 1.2.0) + dm-transactions (~> 1.2.0) + dm-types (~> 1.2.0) + dm-validations (~> 1.2.0) diff-lcs (1.1.3) + dm-aggregates (1.2.0) + dm-core (~> 1.2.0) + dm-constraints (1.2.0) + dm-core (~> 1.2.0) + dm-core (1.2.0) + addressable (~> 2.2.6) + dm-do-adapter (1.2.0) + data_objects (~> 0.10.6) + dm-core (~> 1.2.0) + dm-migrations (1.2.0) + dm-core (~> 1.2.0) + dm-postgres-adapter (1.2.0) + dm-do-adapter (~> 1.2.0) + do_postgres (~> 0.10.6) + dm-serializer (1.2.1) + dm-core (~> 1.2.0) + fastercsv (~> 1.5.4) + json (~> 1.6.1) + json_pure (~> 1.6.1) + multi_json (~> 1.0.3) + dm-sqlite-adapter (1.2.0) + dm-do-adapter (~> 1.2.0) + do_sqlite3 (~> 0.10.6) + dm-timestamps (1.2.0) + dm-core (~> 1.2.0) + dm-transactions (1.2.0) + dm-core (~> 1.2.0) + dm-types (1.2.1) + bcrypt-ruby (~> 3.0.0) + dm-core (~> 1.2.0) + fastercsv (~> 1.5.4) + json (~> 1.6.1) + multi_json (~> 1.0.3) + stringex (~> 1.3.0) + uuidtools (~> 2.1.2) + dm-validations (1.2.0) + dm-core (~> 1.2.0) + do_postgres (0.10.7) + data_objects (= 0.10.7) + do_sqlite3 (0.10.7) + data_objects (= 0.10.7) eventmachine (0.12.10) + fastercsv (1.5.4) haml (3.1.3) + json (1.6.1) + json_pure (1.6.1) + multi_json (1.0.3) + pg (0.11.0) rack (1.3.5) rack-protection (1.1.4) rack @@ -23,17 +83,23 @@ GEM rack (~> 1.3, >= 1.3.4) rack-protection (~> 1.1, >= 1.1.2) tilt (~> 1.3, >= 1.3.3) + stringex (1.3.0) thin (1.3.1) daemons (>= 1.0.9) eventmachine (>= 0.12.6) rack (>= 1.0.0) tilt (1.3.3) + uuidtools (2.1.2) PLATFORMS ruby DEPENDENCIES + datamapper + dm-postgres-adapter + dm-sqlite-adapter haml + pg rspec sass shotgun diff --git a/onr_app.rb b/onr_app.rb index f9eb4ea..8f1eeb7 100644 --- a/onr_app.rb +++ b/onr_app.rb @@ -1,5 +1,22 @@ - +# By Oto Brglez - +require 'rubygems' require 'sinatra/base' +require 'data_mapper' +require 'pathname' + +DataMapper::Logger.new($stdout, :debug) +DataMapper.setup(:default, ENV['DATABASE_URL'] || 'sqlite://'+Pathname.pwd.join("database.db")) + +class Track + include DataMapper::Resource + property :id, Serial + property :raw, Text + property :created_at, DateTime +end + +# DataMapper.auto_migrate! +DataMapper.finalize +Track.auto_upgrade! class OnrApp < Sinatra::Base @@ -10,6 +27,7 @@ class OnrApp < Sinatra::Base end get '/' do + @tracks = Track.all haml :index end diff --git a/views/index.haml b/views/index.haml index 5b2384a..fa20f34 100644 --- a/views/index.haml +++ b/views/index.haml @@ -1,2 +1,8 @@ -%p - Test \ No newline at end of file +- if @tracks.empty? + %p No tracks +- else + %ul + - @tracks.each do |track| + %li + =track.raw + =track.created_at \ No newline at end of file diff --git a/views/main.scss b/views/main.scss index dbe54c9..18935ef 100644 --- a/views/main.scss +++ b/views/main.scss @@ -27,8 +27,8 @@ body{ div.wrap{ text-align:left; display:block; - margin:0px auto; max-width:$width; + margin:0px auto; } } @@ -48,7 +48,7 @@ div#logo{ .header, .footer, .main{ display:block; padding:10px; - width:$width - 20px; + max-width:$width - 20px; } .footer{