projecto 0.1.2 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 892bef29667f841586d9f752cf24c5383595ff256a9a5eef7a3e93ff51e85df9
4
- data.tar.gz: 3a86b413be46cae43a4ab557c732c67f93d06c55255f3b4ad9d7d4dd323430b2
3
+ metadata.gz: 71636449799669e462a123f5e997fc24a0626841edd5c465e3b5f88987f7b17b
4
+ data.tar.gz: ea96534c143ebd8ec27575939a57809b2a4b659c9717ef8a6fb5798e3965507e
5
5
  SHA512:
6
- metadata.gz: 160326f923a0b2bcb668f07975e6c24bc30f985b1539950d8cd8198a7f93bcaa8f3878be6fe17d8ae5324dce94dce3ecfb9338be1465f85d51b3711665dd32a0
7
- data.tar.gz: 53383bd2abda905a5975f81f0c491d76b56018ca9b30eb58a1a09d7b8e1aa16833239c285bfa42c56fd61becb528ee6ab50a70d34cb755a5d5861a81ccdde676
6
+ metadata.gz: f4a24659966cc9259aaeb3576cc8c7da210272bb4407de751bab18c85af0e0c715bbc242bf3d4383e18578163d68ade8436d4f8fdfc1ec367a11ec3056855c70
7
+ data.tar.gz: 4673ec3917f3dcf31f5af61f5b127a087b0d125c685f0ab58173170d270ce333aa56860aceea1427e97e26211a3f83e52bd480451f0cfe19079387377f274701
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- projecto (0.1.2)
4
+ projecto (0.2.0)
5
5
  capybara (~> 2.13)
6
6
  rails (~> 6.0.2.2)
7
7
  rspec-rails (~> 4.0.0)
8
- sanitize
9
- selenium-webdriver
10
- webdrivers
8
+ sanitize (~> 5.1)
9
+ selenium-webdriver (~> 3)
10
+ webdrivers (~> 4.3)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
data/bin/projecto ADDED
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "pathname"
5
+
6
+ source_path = (Pathname.new(__FILE__).dirname + "../lib").expand_path
7
+ $LOAD_PATH << source_path
8
+
9
+ require "projecto"
10
+
11
+ if ARGV.empty?
12
+ puts "Please provide a path for the new application"
13
+ puts
14
+ puts "See --help for more info"
15
+ exit 0
16
+ elsif ["-v", "--version"].include? ARGV[0]
17
+ puts Projecto::VERSION
18
+ exit 0
19
+ end
20
+
21
+ templates_root = File.expand_path(File.join("..", "templates"), File.dirname(__FILE__))
22
+
23
+ Projecto::AppGenerator.source_root(templates_root)
24
+ Projecto::AppGenerator.source_paths << Rails::Generators::AppGenerator.source_root << templates_root
25
+
26
+ Projecto::AppGenerator.start
Binary file
@@ -0,0 +1,11 @@
1
+ module Projecto
2
+ class AppBuilder < Rails::AppBuilder
3
+ def set_ruby_version
4
+ create_file ".ruby-version", "#{Projecto::RUBY_VERSION}\n", force: true
5
+ end
6
+
7
+ def gemfile
8
+ template "Gemfile.erb", "Gemfile"
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,3 @@
1
- require "rails"
2
-
3
1
  module Projecto
4
2
  class Engine < ::Rails::Engine
5
3
  require "rails"
@@ -0,0 +1,28 @@
1
+ require "rails/generators"
2
+ require "rails/generators/rails/app/app_generator"
3
+
4
+ module Projecto
5
+ class AppGenerator < Rails::Generators::AppGenerator
6
+ class_option :database, type: :string, aliases: "-d", default: "postgresql",
7
+ desc: "Configure for selected database (options: #{DATABASES.join('/')})"
8
+
9
+ class_option :skip_turbolinks, type: :boolean, default: false,
10
+ desc: "Skip turbolinks gem"
11
+ class_option :skip_webpack_install, type: :boolean, default: true,
12
+ desc: "Don't run Webpack install"
13
+
14
+ def finish_template
15
+ invoke :projecto_customizations
16
+ end
17
+
18
+ def projecto_customizations
19
+ build :set_ruby_version
20
+ end
21
+
22
+ protected
23
+
24
+ def get_builder_class
25
+ Projecto::AppBuilder
26
+ end
27
+ end
28
+ end
@@ -1,3 +1,6 @@
1
1
  module Projecto
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
+ RAILS_VERSION = "~> 6.0.2.2"
4
+ RUBY_VERSION = "2.6.5"
5
+ PG_VERSION = "12"
3
6
  end
data/lib/projecto.rb CHANGED
@@ -1,6 +1,9 @@
1
+ require "rails"
1
2
  require "projecto/version"
2
3
  require "projecto/railtie" if defined?(Rails)
3
- require "projecto/engine"
4
+ require "projecto/engine" if defined?(Rails)
5
+ require "projecto/generators/app_generator" if defined?(Rails)
6
+ require "projecto/app_builder" if defined?(Rails)
4
7
 
5
8
  module Projecto
6
9
  class Error < StandardError; end
data/projecto.gemspec CHANGED
@@ -27,19 +27,16 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  # Specify which files should be added to the gem when it is released.
29
29
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
30
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
31
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
32
- end
33
- spec.bindir = "exe"
34
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.files = `git ls-files`.split("\n")
31
+ spec.executables = ["projecto"]
35
32
  spec.require_paths = ["lib"]
36
33
 
37
34
  spec.add_development_dependency "bundler", "~> 2.1.4"
38
35
  spec.add_development_dependency "rake", "~> 13.0"
39
- spec.add_dependency "rails", "~> 6.0.2.2"
36
+ spec.add_dependency "rails", Projecto::RAILS_VERSION
40
37
  spec.add_dependency "rspec-rails", "~> 4.0.0"
41
38
  spec.add_dependency "capybara", "~> 2.13"
42
- spec.add_dependency "selenium-webdriver"
43
- spec.add_dependency "webdrivers"
44
- spec.add_dependency "sanitize"
39
+ spec.add_dependency "selenium-webdriver", "~> 3"
40
+ spec.add_dependency "webdrivers", "~> 4.3"
41
+ spec.add_dependency "sanitize", "~> 5.1"
45
42
  end
@@ -0,0 +1,69 @@
1
+ source "https://rubygems.org"
2
+
3
+ # The projecto gem is used for correcting your assignment / work with the help
4
+ # of some browser tests using selenuim web driver.
5
+ # The projecto gem includes the below gems:
6
+ # 1. rails ~> 6.0.2.2
7
+ # 2. rspec-rails ~> 4.0
8
+ # 3. capybara
9
+ # 4. selenium-webdriver and webdrivers
10
+ # 5. sanitize
11
+ gem "projecto", "<%= Projecto::VERSION %>"
12
+
13
+ # This is PostgreDB gem, Read more: https://github.com/ged/ruby-pg
14
+ gem "pg"
15
+ # Use Puma as the app server, Read more: https://github.com/puma/puma
16
+ gem "puma"
17
+ # Use SCSS for stylesheets. This only install's bootstrapV3, Read more: https://github.com/twbs/bootstrap-sass
18
+ gem "bootstrap-sass"
19
+ # Use Uglifier as compressor for JavaScript assets. Read more: https://github.com/lautis/uglifier
20
+ gem "uglifier"
21
+ # Use CoffeeScript for .coffee assets and views, Read more: https://github.com/rails/coffee-rails
22
+ gem "coffee-rails"
23
+ # Use Jquery rails to include jquery to your project, Read more: https://github.com/rails/jquery-rails
24
+ gem "jquery-rails"
25
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
26
+ gem "turbolinks"
27
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
28
+ gem "jbuilder"
29
+ # This gem helps you to upload files to rails application, Read more: https://github.com/carrierwaveuploader/carrierwave
30
+ gem "carrierwave"
31
+ # MiniMagick is a wrapper for ImageMagick which helps to resize images, Read more: https://github.com/minimagick/minimagick
32
+ gem "mini_magick"
33
+ # Font Awesome rails helps you to include font awesome to asset pipeline, Read more: https://github.com/bokmann/font-awesome-rails
34
+ gem "font-awesome-rails"
35
+ # Store passwords secretly in database using hashing algorithms using Bycrypt, Read more: https://github.com/codahale/bcrypt-ruby
36
+ gem "bcrypt"
37
+
38
+ # Dotenv allows you to set environment variables for your application, Read more: https://github.com/bkeepers/dotenv
39
+ gem "dotenv-rails", groups: [:development, :test]
40
+
41
+ group :development, :test do
42
+ # Call "byebug" anywhere in the code to stop execution and get a debugger console
43
+ gem "byebug", platforms: [:mri, :mingw, :x64_mingw]
44
+ gem "pry"
45
+ end
46
+
47
+ group :development do
48
+ <%- unless options.api? -%>
49
+ # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
50
+ <%- if options.dev? || options.edge? -%>
51
+ gem "web-console", github: "rails/web-console"
52
+ <%- else -%>
53
+ gem "web-console", ">= 3.3.0"
54
+ <%- end -%>
55
+ <%- end -%>
56
+ <% if depend_on_listen? -%>
57
+ gem "listen", "~> 3.2"
58
+ <% end -%>
59
+ <% if spring_install? -%>
60
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
61
+ gem "spring"
62
+ <% if depend_on_listen? -%>
63
+ gem "spring-watcher-listen", "~> 2.0.0"
64
+ <% end -%>
65
+ <% end -%>
66
+ end
67
+
68
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
69
+ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: projecto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anto Dominic
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-04-19 00:00:00.000000000 Z
12
12
  dependencies:
@@ -84,49 +84,50 @@ dependencies:
84
84
  name: selenium-webdriver
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '3'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '3'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: webdrivers
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '4.3'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '4.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sanitize
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '5.1'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '5.1'
125
125
  description: To include the project tests in webapp examiner test run needs to be
126
126
  included here
127
127
  email:
128
128
  - antodoms@gmail.com
129
- executables: []
129
+ executables:
130
+ - projecto
130
131
  extensions: []
131
132
  extra_rdoc_files: []
132
133
  files:
@@ -141,13 +142,17 @@ files:
141
142
  - README.md
142
143
  - Rakefile
143
144
  - bin/console
145
+ - bin/projecto
144
146
  - bin/setup
145
147
  - gem_builds/projecto-0.1.0.gem
146
148
  - gem_builds/projecto-0.1.1.gem
147
149
  - gem_builds/projecto-0.1.2.gem
150
+ - gem_builds/projecto-0.2.0.gem
148
151
  - lib/projecto.rb
149
152
  - lib/projecto/Rakefile
153
+ - lib/projecto/app_builder.rb
150
154
  - lib/projecto/engine.rb
155
+ - lib/projecto/generators/app_generator.rb
151
156
  - lib/projecto/railtie.rb
152
157
  - lib/projecto/tasks/projecto.rake
153
158
  - lib/projecto/version.rb
@@ -158,6 +163,7 @@ files:
158
163
  - spec/spec_helper.rb
159
164
  - spec/support/capybara.rb
160
165
  - spec/support/test_helper.rb
166
+ - templates/Gemfile.erb
161
167
  homepage: https://web-examiner.herokuapp.com
162
168
  licenses:
163
169
  - MIT