adminpanel 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/spec_helper.rb CHANGED
@@ -12,6 +12,7 @@ require "factory_girl"
12
12
  require "carrierwave/test/matchers"
13
13
  require "active_record"
14
14
  require "genspec"
15
+ require "rake"
15
16
 
16
17
  Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
17
18
 
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe "adminpanel namespace task" do
4
+
5
+ before :all do
6
+ Rake.application.rake_require "tasks/adminpanel/adminpanel"
7
+ Rake::Task.define_task(:environment)
8
+ end
9
+
10
+ describe "adminpanel:populate[20, product, name:name description:lorem price:number]" do
11
+
12
+ let(:has_nil_attribute) { false }
13
+ before do
14
+ Rake.application.invoke_task "adminpanel:populate[20, product, name:name description:lorem price:number]"
15
+ end
16
+
17
+
18
+ it "should generate 20 product records" do
19
+ Adminpanel::Product.count.should eq 20
20
+ end
21
+
22
+ it "attributes shouldn't be nil" do
23
+ Adminpanel::Product.all.each do |product|
24
+ if (product.name.nil? || product.description.nil? || product.price.nil? ||
25
+ product.name == "" || product.description == "" || product.price == "")
26
+ has_nil_attribute = true
27
+ end
28
+ end
29
+ has_nil_attribute.should eq false
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminpanel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 1
10
+ version: 1.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jose Ramon Camacho
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2014-03-05 00:00:00 -06:00
19
+ date: 2014-03-07 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -486,7 +486,8 @@ files:
486
486
  - lib/generators/adminpanel/resource/templates/controller.rb
487
487
  - lib/generators/adminpanel/resource/templates/migration.rb
488
488
  - lib/generators/adminpanel/resource/templates/resource.rb
489
- - lib/tasks/adminpanel/populate.rake
489
+ - lib/tasks/adminpanel/adminpanel.rake
490
+ - spec/dummy/.gitignore
490
491
  - spec/dummy/README.rdoc
491
492
  - spec/dummy/Rakefile
492
493
  - spec/dummy/app/assets/images/hipster.jpg
@@ -548,6 +549,7 @@ files:
548
549
  - spec/support/helper_methods.rb
549
550
  - spec/support/submit_forms_without_button.rb
550
551
  - spec/support/test_database.rb
552
+ - spec/tasks/adminpanel_rake_spec.rb
551
553
  - spec/uploaders/gallery_uploader_spec.rb
552
554
  - spec/uploaders/image_uploader_spec.rb
553
555
  has_rdoc: true
@@ -586,6 +588,7 @@ signing_key:
586
588
  specification_version: 3
587
589
  summary: Developed with love for ruby 1.8.7
588
590
  test_files:
591
+ - spec/dummy/.gitignore
589
592
  - spec/dummy/README.rdoc
590
593
  - spec/dummy/Rakefile
591
594
  - spec/dummy/app/assets/images/hipster.jpg
@@ -647,5 +650,6 @@ test_files:
647
650
  - spec/support/helper_methods.rb
648
651
  - spec/support/submit_forms_without_button.rb
649
652
  - spec/support/test_database.rb
653
+ - spec/tasks/adminpanel_rake_spec.rb
650
654
  - spec/uploaders/gallery_uploader_spec.rb
651
655
  - spec/uploaders/image_uploader_spec.rb
@@ -1,80 +0,0 @@
1
- namespace :adminpanel do
2
- desc "Populate database of adminpanel model"
3
-
4
- task :populate, [:times, :model, :attributes] => :environment do |t, args|
5
- puts "Generating #{args[:times]} records of #{args[:model]}"
6
- model = "adminpanel/#{args[:model]}".classify.constantize
7
-
8
- attributes = args[:attributes].split(" ")
9
- prefixes = %W["Sir" "CEO" "Entrepeneur" "Bgr" "MVP"]
10
- names = %W[Transito Jose Victor John Jane Ramon Katy]
11
- l_names = %W[Camacho Magana Cuervo Gonzalez Lopez Doe Roe]
12
- categories = %[CoDN Varios Comestibles Electronicos Web Basura lorem ipsum dolor]
13
- lorem = %W[Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
14
- eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
15
- minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
16
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
17
- velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
18
- cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
19
- est laborum.]
20
- domains = %W[codn.com gmail.com]
21
-
22
- has_image = false
23
- args[:times].to_i.times do |time|
24
- instance = model.new
25
- attributes.each do |attribute|
26
- field = attribute.split(":").first
27
- type = attribute.split(":").second
28
-
29
- if type.nil? #no type
30
- value = "#{time + 1} Lorem ipsum dolor sit amec"
31
-
32
- elsif type == "name" #generate a name
33
- value = "#{prefixes.sample} #{names.sample} #{l_names.sample}"
34
-
35
- elsif type == "category" #generate a category name
36
- value = categories.sample
37
-
38
- elsif type == "description" || type == "lorem" #generate random lorem ipsum
39
- value = ""
40
- [*60..80].sample.times do
41
- value = "#{value} #{lorem.sample}"
42
- end
43
- value = "#{value}."
44
-
45
- elsif type == "number" #sample number
46
- value = [*1..500].sample
47
-
48
- elsif type == "id" #assign it to random instanes of Adminpanel::field
49
- value = "adminpanel/#{field}".classify.constantize.order("RAND()").first.id
50
- field = "#{field}_id"
51
-
52
- elsif type = "email"
53
- value = "#{names.sample.first}#{l_names.sample}@#{domains.sample}"
54
-
55
- elsif type == "image" #force an image...
56
- has_image = true
57
- @file_url = "http://placehold.it/#{field}"
58
- end
59
-
60
-
61
- if(type != "image")
62
- instance.send("#{field}=", value)
63
- end
64
- end
65
-
66
- instance.save
67
-
68
- if(has_image) #forcing the image into the db
69
- image_instance = Adminpanel::Image.new(
70
- :model => model.display_name,
71
- :foreign_key => instance.id
72
- )
73
- image_instance.save(:validate => false)
74
- image_instance.update_column(:file, @file_url)
75
- end
76
-
77
- end
78
-
79
- end
80
- end