From 96c5c4a1ef6fa10a563cbd987c53566b411fd67e Mon Sep 17 00:00:00 2001 From: abubakar-bilal-confiz Date: Thu, 28 Nov 2013 10:12:54 +0500 Subject: [PATCH 1/3] model.last method added just like ActiveRecord --- Gemfile.lock | 8 ++++++++ lib/parse_resource/parse_error.rb | 2 +- lib/parse_resource/query.rb | 11 +++++++++-- lib/parse_resource/query_methods.rb | 5 +++++ nbproject/private/private.properties | 3 +++ nbproject/private/rake-d.txt | 0 nbproject/project.properties | 9 +++++++++ nbproject/project.xml | 14 ++++++++++++++ test/test_parse_resource.rb | 12 ++++++++++++ 9 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 nbproject/private/private.properties create mode 100644 nbproject/private/rake-d.txt create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml diff --git a/Gemfile.lock b/Gemfile.lock index 5a6dd56..9ba2e56 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,7 +10,14 @@ GEM addressable (2.3.4) ansi (1.4.3) builder (3.0.4) + columnize (0.3.6) crack (0.3.2) + debugger (1.6.1) + columnize (>= 0.3.1) + debugger-linecache (~> 1.2.0) + debugger-ruby_core_source (~> 1.2.3) + debugger-linecache (1.2.0) + debugger-ruby_core_source (1.2.3) git (1.2.5) i18n (0.6.1) jeweler (1.6.4) @@ -49,6 +56,7 @@ PLATFORMS DEPENDENCIES activemodel activesupport + debugger jeweler (~> 1.6.4) json reek (~> 1.2.8) diff --git a/lib/parse_resource/parse_error.rb b/lib/parse_resource/parse_error.rb index f8e0cc4..dc33c06 100644 --- a/lib/parse_resource/parse_error.rb +++ b/lib/parse_resource/parse_error.rb @@ -47,4 +47,4 @@ def to_array [ @code, @msg ] end -end +end \ No newline at end of file diff --git a/lib/parse_resource/query.rb b/lib/parse_resource/query.rb index d504e53..e706a4e 100644 --- a/lib/parse_resource/query.rb +++ b/lib/parse_resource/query.rb @@ -29,9 +29,9 @@ def include_object(parent) def order(attr) orders = attr.split(" ") if orders.count > 1 - criteria[:order] = orders.last.downcase == "desc" ? "-#{orders.first}" : "#{orders.first}" + criteria[:order] = orders.last.downcase == "desc" ? "#{orders.first}" : "-#{orders.first}" else - criteria[:order] = orders.first + criteria[:order] = "-#{orders.first}" end self end @@ -137,6 +137,13 @@ def first execute.first end + #my contribution + def last + order('created_at desc') + limit(1) + execute.last + end + def all execute end diff --git a/lib/parse_resource/query_methods.rb b/lib/parse_resource/query_methods.rb index ccda3b3..e05758a 100644 --- a/lib/parse_resource/query_methods.rb +++ b/lib/parse_resource/query_methods.rb @@ -31,6 +31,11 @@ def all def first Query.new(self).limit(1).first end + # Find the last object. Fairly random, not based on any specific condition. + #my contribution + def last + Query.new(self).limit(1).last + end # Limits the number of objects returned # diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 0000000..9f6f7ad --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,3 @@ +file.reference.parse_resource-fixtures=/home/confiz/Documents/ruby_projects/parse_resource/fixtures +file.reference.parse_resource-lib=/home/confiz/Documents/ruby_projects/parse_resource/lib +file.reference.parse_resource-test=/home/confiz/Documents/ruby_projects/parse_resource/test diff --git a/nbproject/private/rake-d.txt b/nbproject/private/rake-d.txt new file mode 100644 index 0000000..e69de29 diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..970e57e --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,9 @@ +file.reference.parse_resource-fixtures=fixtures +file.reference.parse_resource-lib=lib +file.reference.parse_resource-test=test +lib.dir=${file.reference.parse_resource-lib} +main.file= +platform.active=default +source.encoding=UTF-8 +src.dir=${file.reference.parse_resource-fixtures} +test.dir=${file.reference.parse_resource-test} diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..8c6b1b3 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,14 @@ + + org.netbeans.modules.ruby.rubyproject + + + parse_resource + + + + + + + + + diff --git a/test/test_parse_resource.rb b/test/test_parse_resource.rb index 0243e12..3ac075e 100644 --- a/test/test_parse_resource.rb +++ b/test/test_parse_resource.rb @@ -112,6 +112,18 @@ def test_first end end + + def test_last + VCR.use_cassette('test_last', :record => :new_episodes) do + Fork.destroy_all + f = Fork.create(:points => "lasttt") + p = Fork.last + assert p.is_a?(Fork) + assert f.id, p.id + assert f.points, p.points + end + end + def test_find_by VCR.use_cassette('test_find_by', :record => :new_episodes) do p1 = Post.create(:title => "Welcome111") From af99ff8c9ba069bcb35cdb6627fd0baa16025d68 Mon Sep 17 00:00:00 2001 From: abubakar-bilal-confiz Date: Thu, 28 Nov 2013 10:20:50 +0500 Subject: [PATCH 2/3] model.last method addded like ActiveRecord in rails --- lib/parse_resource/parse_error.rb | 2 +- lib/parse_resource/query.rb | 5 +++-- lib/parse_resource/query_methods.rb | 2 ++ nbproject/private/private.properties | 6 +++--- test/test_parse_resource.rb | 1 - 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/parse_resource/parse_error.rb b/lib/parse_resource/parse_error.rb index dc33c06..f8e0cc4 100644 --- a/lib/parse_resource/parse_error.rb +++ b/lib/parse_resource/parse_error.rb @@ -47,4 +47,4 @@ def to_array [ @code, @msg ] end -end \ No newline at end of file +end diff --git a/lib/parse_resource/query.rb b/lib/parse_resource/query.rb index e706a4e..78d9e8c 100644 --- a/lib/parse_resource/query.rb +++ b/lib/parse_resource/query.rb @@ -29,9 +29,9 @@ def include_object(parent) def order(attr) orders = attr.split(" ") if orders.count > 1 - criteria[:order] = orders.last.downcase == "desc" ? "#{orders.first}" : "-#{orders.first}" + criteria[:order] = orders.last.downcase == "desc" ? "-#{orders.first}" : "#{orders.first}" else - criteria[:order] = "-#{orders.first}" + criteria[:order] = orders.first end self end @@ -108,6 +108,7 @@ def execute return results.to_i else results = JSON.parse(resp)['results'] + puts results return results.map {|r| @klass.model_name.to_s.constantize.new(r, false)} end end diff --git a/lib/parse_resource/query_methods.rb b/lib/parse_resource/query_methods.rb index e05758a..b4e280f 100644 --- a/lib/parse_resource/query_methods.rb +++ b/lib/parse_resource/query_methods.rb @@ -31,12 +31,14 @@ def all def first Query.new(self).limit(1).first end + # Find the last object. Fairly random, not based on any specific condition. #my contribution def last Query.new(self).limit(1).last end + # Limits the number of objects returned # def limit(n) diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties index 9f6f7ad..a6aac7a 100644 --- a/nbproject/private/private.properties +++ b/nbproject/private/private.properties @@ -1,3 +1,3 @@ -file.reference.parse_resource-fixtures=/home/confiz/Documents/ruby_projects/parse_resource/fixtures -file.reference.parse_resource-lib=/home/confiz/Documents/ruby_projects/parse_resource/lib -file.reference.parse_resource-test=/home/confiz/Documents/ruby_projects/parse_resource/test +file.reference.parse_resource-fixtures=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/fixtures +file.reference.parse_resource-lib=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/lib +file.reference.parse_resource-test=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/test diff --git a/test/test_parse_resource.rb b/test/test_parse_resource.rb index 3ac075e..c85e0cf 100644 --- a/test/test_parse_resource.rb +++ b/test/test_parse_resource.rb @@ -112,7 +112,6 @@ def test_first end end - def test_last VCR.use_cassette('test_last', :record => :new_episodes) do Fork.destroy_all From b5924c22a1206794238c12586bb82f729d2f1ee0 Mon Sep 17 00:00:00 2001 From: abubakar-bilal-confiz Date: Thu, 30 Jan 2014 11:14:24 +0500 Subject: [PATCH 3/3] nbproject dir deleted --- nbproject/private/private.properties | 3 --- nbproject/private/rake-d.txt | 0 nbproject/project.properties | 9 --------- nbproject/project.xml | 14 -------------- 4 files changed, 26 deletions(-) delete mode 100644 nbproject/private/private.properties delete mode 100644 nbproject/private/rake-d.txt delete mode 100644 nbproject/project.properties delete mode 100644 nbproject/project.xml diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties deleted file mode 100644 index a6aac7a..0000000 --- a/nbproject/private/private.properties +++ /dev/null @@ -1,3 +0,0 @@ -file.reference.parse_resource-fixtures=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/fixtures -file.reference.parse_resource-lib=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/lib -file.reference.parse_resource-test=/home/confiz/Documents/ruby_projects/parse_resource_contribution/parse_resource/test diff --git a/nbproject/private/rake-d.txt b/nbproject/private/rake-d.txt deleted file mode 100644 index e69de29..0000000 diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100644 index 970e57e..0000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,9 +0,0 @@ -file.reference.parse_resource-fixtures=fixtures -file.reference.parse_resource-lib=lib -file.reference.parse_resource-test=test -lib.dir=${file.reference.parse_resource-lib} -main.file= -platform.active=default -source.encoding=UTF-8 -src.dir=${file.reference.parse_resource-fixtures} -test.dir=${file.reference.parse_resource-test} diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100644 index 8c6b1b3..0000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,14 +0,0 @@ - - org.netbeans.modules.ruby.rubyproject - - - parse_resource - - - - - - - - -