phcdevworks_scripts 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +35 -0
- data/Rakefile +32 -0
- data/app/assets/config/phcdevworks_scripts_manifest.js +1 -0
- data/app/assets/javascripts/phcdevworks_scripts/application.js +2 -0
- data/app/assets/javascripts/phcdevworks_scripts/script/versions.coffee +3 -0
- data/app/assets/stylesheets/phcdevworks_scripts/application.scss +2 -0
- data/app/assets/stylesheets/phcdevworks_scripts/script/authors.css +4 -0
- data/app/assets/stylesheets/phcdevworks_scripts/script/extensions.css +4 -0
- data/app/assets/stylesheets/phcdevworks_scripts/script/listings.css +4 -0
- data/app/assets/stylesheets/phcdevworks_scripts/script/urls.css +4 -0
- data/app/assets/stylesheets/phcdevworks_scripts/script/versions.scss +3 -0
- data/app/assets/stylesheets/phcdevworks_scripts/snippet/posts.css +4 -0
- data/app/assets/stylesheets/phcdevworks_scripts/snippet/urls.css +4 -0
- data/app/controllers/phcdevworks_scripts/application_controller.rb +13 -0
- data/app/controllers/phcdevworks_scripts/script/authors_controller.rb +82 -0
- data/app/controllers/phcdevworks_scripts/script/extensions_controller.rb +82 -0
- data/app/controllers/phcdevworks_scripts/script/listings_controller.rb +82 -0
- data/app/controllers/phcdevworks_scripts/script/urls_controller.rb +77 -0
- data/app/controllers/phcdevworks_scripts/script/versions_controller.rb +82 -0
- data/app/controllers/phcdevworks_scripts/snippet/posts_controller.rb +80 -0
- data/app/controllers/phcdevworks_scripts/snippet/urls_controller.rb +76 -0
- data/app/helpers/phcdevworks_scripts/application_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/script/authors_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/script/extensions_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/script/listings_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/script/urls_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/script/versions_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/snippet/posts_helper.rb +4 -0
- data/app/helpers/phcdevworks_scripts/snippet/urls_helper.rb +4 -0
- data/app/jobs/phcdevworks_scripts/application_job.rb +4 -0
- data/app/mailers/phcdevworks_scripts/application_mailer.rb +6 -0
- data/app/models/phcdevworks_scripts/application_record.rb +5 -0
- data/app/models/phcdevworks_scripts/author_versions.rb +5 -0
- data/app/models/phcdevworks_scripts/extension_versions.rb +5 -0
- data/app/models/phcdevworks_scripts/listing_versions.rb +5 -0
- data/app/models/phcdevworks_scripts/script.rb +7 -0
- data/app/models/phcdevworks_scripts/script/author.rb +33 -0
- data/app/models/phcdevworks_scripts/script/extension.rb +32 -0
- data/app/models/phcdevworks_scripts/script/listing.rb +38 -0
- data/app/models/phcdevworks_scripts/script/url.rb +24 -0
- data/app/models/phcdevworks_scripts/script/version.rb +26 -0
- data/app/models/phcdevworks_scripts/scriptversion_versions.rb +5 -0
- data/app/models/phcdevworks_scripts/snippet.rb +7 -0
- data/app/models/phcdevworks_scripts/snippet/post.rb +25 -0
- data/app/models/phcdevworks_scripts/snippet/url.rb +16 -0
- data/app/models/phcdevworks_scripts/url_versions.rb +5 -0
- data/app/views/layouts/phcdevworks_scripts/application.html.erb +94 -0
- data/app/views/layouts/phcdevworks_scripts/components/backend/footer/_footer.html.erb +16 -0
- data/app/views/layouts/phcdevworks_scripts/components/backend/navigation/_top_menu.html.erb +37 -0
- data/app/views/layouts/phcdevworks_scripts/components/backend/sidebars/_side_menu.html.erb +183 -0
- data/app/views/phcdevworks_scripts/script/authors/_form.html.erb +32 -0
- data/app/views/phcdevworks_scripts/script/authors/edit.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/authors/index.html.erb +63 -0
- data/app/views/phcdevworks_scripts/script/authors/new.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/authors/show.html.erb +49 -0
- data/app/views/phcdevworks_scripts/script/extensions/_form.html.erb +28 -0
- data/app/views/phcdevworks_scripts/script/extensions/edit.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/extensions/index.html.erb +59 -0
- data/app/views/phcdevworks_scripts/script/extensions/new.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/extensions/show.html.erb +49 -0
- data/app/views/phcdevworks_scripts/script/listings/_form.html.erb +62 -0
- data/app/views/phcdevworks_scripts/script/listings/edit.html.erb +35 -0
- data/app/views/phcdevworks_scripts/script/listings/index.html.erb +62 -0
- data/app/views/phcdevworks_scripts/script/listings/new.html.erb +36 -0
- data/app/views/phcdevworks_scripts/script/listings/show.html.erb +48 -0
- data/app/views/phcdevworks_scripts/script/urls/_form.html.erb +36 -0
- data/app/views/phcdevworks_scripts/script/urls/edit.html.erb +36 -0
- data/app/views/phcdevworks_scripts/script/urls/index.html.erb +61 -0
- data/app/views/phcdevworks_scripts/script/urls/new.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/urls/show.html.erb +49 -0
- data/app/views/phcdevworks_scripts/script/versions/_form.html.erb +20 -0
- data/app/views/phcdevworks_scripts/script/versions/edit.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/versions/index.html.erb +57 -0
- data/app/views/phcdevworks_scripts/script/versions/new.html.erb +37 -0
- data/app/views/phcdevworks_scripts/script/versions/show.html.erb +49 -0
- data/app/views/phcdevworks_scripts/snippet/posts/_form.html.erb +26 -0
- data/app/views/phcdevworks_scripts/snippet/posts/edit.html.erb +39 -0
- data/app/views/phcdevworks_scripts/snippet/posts/index.html.erb +68 -0
- data/app/views/phcdevworks_scripts/snippet/posts/new.html.erb +39 -0
- data/app/views/phcdevworks_scripts/snippet/posts/show.html.erb +71 -0
- data/app/views/phcdevworks_scripts/snippet/urls/_form.html.erb +22 -0
- data/app/views/phcdevworks_scripts/snippet/urls/edit.html.erb +39 -0
- data/app/views/phcdevworks_scripts/snippet/urls/index.html.erb +66 -0
- data/app/views/phcdevworks_scripts/snippet/urls/new.html.erb +39 -0
- data/app/views/phcdevworks_scripts/snippet/urls/show.html.erb +71 -0
- data/config/initializers/friendly_id.rb +107 -0
- data/config/routes.rb +32 -0
- data/db/migrate/20170509002355_create_phcdevworks_scripts_friendly_id_slugs.rb +18 -0
- data/db/migrate/20170517064030_create_phcdevworks_scripts_extension_versions.rb +17 -0
- data/db/migrate/20170517064049_create_phcdevworks_scripts_listing_versions.rb +17 -0
- data/db/migrate/20170517064114_create_phcdevworks_scripts_scriptversion_versions.rb +17 -0
- data/db/migrate/20170517064150_create_phcdevworks_scripts_url_versions.rb +17 -0
- data/db/migrate/20170517064208_create_phcdevworks_scripts_author_versions.rb +17 -0
- data/db/migrate/20170517064427_create_phcdevworks_scripts_licence_versions.rb +17 -0
- data/db/migrate/20190818022002_create_phcdevworks_scripts_snippet_posts.rb +16 -0
- data/db/migrate/20190818022024_create_phcdevworks_scripts_snippet_urls.rb +17 -0
- data/db/migrate/20190818022939_create_phcdevworks_scripts_script_authors.rb +18 -0
- data/db/migrate/20190818023353_create_phcdevworks_scripts_script_listings.rb +27 -0
- data/db/migrate/20190818023709_create_phcdevworks_scripts_script_extensions.rb +17 -0
- data/db/migrate/20190818023911_create_phcdevworks_scripts_script_urls.rb +21 -0
- data/db/migrate/20190818031653_create_phcdevworks_scripts_script_versions.rb +15 -0
- data/lib/phcdevworks_scripts.rb +5 -0
- data/lib/phcdevworks_scripts/engine.rb +33 -0
- data/lib/phcdevworks_scripts/version.rb +3 -0
- data/lib/tasks/phcdevworks_scripts_tasks.rake +4 -0
- metadata +352 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
require_dependency "phcdevworks_scripts/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksScripts
|
4
|
+
class Script::VersionsController < ApplicationController
|
5
|
+
|
6
|
+
# Filters & Security
|
7
|
+
#include PhcdevworksCore::PhcpluginsHelper
|
8
|
+
before_action :authenticate_user!
|
9
|
+
before_action :set_paper_trail_whodunnit
|
10
|
+
before_action :set_script_version, only: [:show, :edit, :update, :destroy]
|
11
|
+
|
12
|
+
# GET /script/versions
|
13
|
+
def index
|
14
|
+
@script_versions = Script::Version.all
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /script/versions/1
|
18
|
+
def show
|
19
|
+
@script_versions = Script::Version.friendly.find(params[:id])
|
20
|
+
@versions = PhcdevworksScripts::ScriptversionVersions.where(item_id: params[:id], item_type: 'PhcdevworksScripts::Script::Version')
|
21
|
+
end
|
22
|
+
|
23
|
+
# GET /script/versions/new
|
24
|
+
def new
|
25
|
+
@script_version = Script::Version.new
|
26
|
+
end
|
27
|
+
|
28
|
+
# GET /script/versions/1/edit
|
29
|
+
def edit
|
30
|
+
end
|
31
|
+
|
32
|
+
# POST /script/versions
|
33
|
+
def create
|
34
|
+
@script_version = Script::Version.new(script_version_params)
|
35
|
+
@script_version.user_id = current_user.id
|
36
|
+
respond_to do |format|
|
37
|
+
if @script_version.save
|
38
|
+
format.html { redirect_to script_versions_path, :flash => { :success => 'Script Version has been Added.' }}
|
39
|
+
format.json { render :show, status: :created, location: @script_version }
|
40
|
+
else
|
41
|
+
format.html { render :new }
|
42
|
+
format.json { render json: @script_version.errors, status: :unprocessable_entity }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# PATCH/PUT /script/versions/1
|
48
|
+
def update
|
49
|
+
respond_to do |format|
|
50
|
+
if @script_version.update(script_version_params)
|
51
|
+
format.html { redirect_to script_versions_path, :flash => { :notice => 'Script Version Name has been Updated.' }}
|
52
|
+
format.json { render :show, status: :ok, location: @script_version }
|
53
|
+
else
|
54
|
+
format.html { render :edit }
|
55
|
+
format.json { render json: @script_version.errors, status: :unprocessable_entity }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# DELETE /script/versions/1
|
61
|
+
def destroy
|
62
|
+
@script_version.destroy
|
63
|
+
respond_to do |format|
|
64
|
+
format.html { redirect_to script_versions_path, :flash => { :error => 'Script Version and Connections have all been Removed.' }}
|
65
|
+
format.json { head :no_content }
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
# Callback
|
72
|
+
def set_script_version
|
73
|
+
@script_version = Script::Version.find(params[:id])
|
74
|
+
end
|
75
|
+
|
76
|
+
# Whitelist
|
77
|
+
def script_version_params
|
78
|
+
params.require(:script_version).permit(:script_version_number)
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require_dependency "phcdevworks_scripts/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksScripts
|
4
|
+
class Snippet::PostsController < ApplicationController
|
5
|
+
|
6
|
+
# Filters & Security
|
7
|
+
#include PhcdevworksCore::PhcpluginsHelper
|
8
|
+
before_action :authenticate_user!
|
9
|
+
before_action :set_paper_trail_whodunnit
|
10
|
+
before_action :set_snippet_post, only: [:show, :edit, :update, :destroy]
|
11
|
+
|
12
|
+
# GET /snippet/posts
|
13
|
+
def index
|
14
|
+
@snippet_posts = Snippet::Post.all
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /snippet/posts/1
|
18
|
+
def show
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /snippet/posts/new
|
22
|
+
def new
|
23
|
+
@snippet_post = Snippet::Post.new
|
24
|
+
end
|
25
|
+
|
26
|
+
# GET /snippet/posts/1/edit
|
27
|
+
def edit
|
28
|
+
end
|
29
|
+
|
30
|
+
# POST /snippet/posts
|
31
|
+
def create
|
32
|
+
@snippet_post = Snippet::Post.new(snippet_post_params)
|
33
|
+
@snippet_post.user_id = current_user.id
|
34
|
+
respond_to do |format|
|
35
|
+
if @snippet_post.save
|
36
|
+
format.html { redirect_to snippet_posts_path, :flash => { :success => 'Script Snippet has been Added.' }}
|
37
|
+
format.json { render :show, status: :created, location: @snippet_post }
|
38
|
+
else
|
39
|
+
format.html { render :new }
|
40
|
+
format.json { render json: @snippet_post.errors, status: :unprocessable_entity }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# PATCH/PUT /snippet/posts/1
|
46
|
+
def update
|
47
|
+
respond_to do |format|
|
48
|
+
if @snippet_post.update(snippet_post_params)
|
49
|
+
format.html { redirect_to snippet_posts_path, :flash => { :notice => 'Script Snippet Name has been Updated.' }}
|
50
|
+
format.json { render :show, status: :ok, location: @snippet_post }
|
51
|
+
else
|
52
|
+
format.html { render :edit }
|
53
|
+
format.json { render json: @snippet_post.errors, status: :unprocessable_entity }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# DELETE /snippet/posts/1
|
59
|
+
def destroy
|
60
|
+
@snippet_post.destroy
|
61
|
+
respond_to do |format|
|
62
|
+
format.html { redirect_to snippet_posts_path, :flash => { :error => 'Script Snippet and Connections have all been Removed.' }}
|
63
|
+
format.json { head :no_content }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
# Common Callbacks
|
70
|
+
def set_snippet_post
|
71
|
+
@snippet_post = Snippet::Post.friendly.find(params[:id])
|
72
|
+
end
|
73
|
+
|
74
|
+
# Whitelist
|
75
|
+
def snippet_post_params
|
76
|
+
params.require(:snippet_post).permit(:snippet_title, :snippet_code)
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require_dependency "phcdevworks_scripts/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksScripts
|
4
|
+
class Snippet::UrlsController < ApplicationController
|
5
|
+
|
6
|
+
# Filters & Security
|
7
|
+
#include PhcdevworksCore::PhcpluginsHelper
|
8
|
+
#before_action :authenticate_user!
|
9
|
+
before_action :set_paper_trail_whodunnit
|
10
|
+
before_action :set_snippet_url, only: [:show, :edit, :update, :destroy]
|
11
|
+
|
12
|
+
# INDEX
|
13
|
+
def index
|
14
|
+
@script_urls = snippet_post.urls.all
|
15
|
+
end
|
16
|
+
|
17
|
+
# SHOW
|
18
|
+
def show
|
19
|
+
@script_url = snippet_post.urls.find(params[:id])
|
20
|
+
end
|
21
|
+
|
22
|
+
# NEW
|
23
|
+
def new
|
24
|
+
@script_url = snippet_post.urls.build
|
25
|
+
end
|
26
|
+
|
27
|
+
# EDIT
|
28
|
+
def edit
|
29
|
+
end
|
30
|
+
|
31
|
+
# CREATE
|
32
|
+
def create
|
33
|
+
@script_url = snippet_post.urls.create(script_url_params)
|
34
|
+
@script_url.user_id = current_user.id
|
35
|
+
if @script_url.save
|
36
|
+
redirect_to script_snippet_urls_path, :flash => { :success => 'Script url was successfully created.' }
|
37
|
+
else
|
38
|
+
render :new
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# UPDATE
|
43
|
+
def update
|
44
|
+
@script_snippet = Snippet::Url.find(params[:snippet_id])
|
45
|
+
if @script_url.update(script_url_params)
|
46
|
+
redirect_to script_snippet_urls_path, :flash => { :success => 'Script url was successfully updated.' }
|
47
|
+
else
|
48
|
+
render :edit
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# DELETE
|
53
|
+
def destroy
|
54
|
+
@script_url = snippet_post.urls.find(params[:id])
|
55
|
+
@script_url.destroy
|
56
|
+
redirect_to script_snippet_urls_path, :flash => { :error => 'Script url was successfully destroyed.' }
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
# Common Callbacks
|
62
|
+
def set_snippet_url
|
63
|
+
@snippet_url = Snippet::Url.friendly.find(params[:id])
|
64
|
+
end
|
65
|
+
|
66
|
+
def snippet_post
|
67
|
+
@snippet_post = Snippet::Post.friendly.find(params[:post_id])
|
68
|
+
end
|
69
|
+
|
70
|
+
# Whitelist
|
71
|
+
def snippet_url_params
|
72
|
+
params.require(:snippet_url).permit(:snippet_url)
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module PhcdevworksScripts
|
2
|
+
class Script::Author < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper Trail Initialize
|
8
|
+
has_paper_trail :class_name => 'PhcdevworksScripts::AuthorVersions'
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
has_many :listings, class_name: 'PhcdevworksScripts::Script::Listing'
|
12
|
+
|
13
|
+
# Form Fields Validation
|
14
|
+
validates :author_first_name,
|
15
|
+
presence: true
|
16
|
+
|
17
|
+
validates :author_website,
|
18
|
+
presence: true,
|
19
|
+
format: { with: URI::regexp(%w(http https)), message: "Please follow this URL format http or https://www.**********.com" }
|
20
|
+
|
21
|
+
validates :author_github,
|
22
|
+
presence: true,
|
23
|
+
format: { with: URI::regexp(%w(http https)), message: "Please follow this URL format http or https://www.**********.com" }
|
24
|
+
|
25
|
+
# Clean URL Define
|
26
|
+
friendly_id :phc_nice_url_slug, use: [:slugged, :finders]
|
27
|
+
|
28
|
+
def phc_nice_url_slug
|
29
|
+
[:author_first_name, :author_last_name]
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module PhcdevworksScripts
|
2
|
+
class Script::Extension < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper Trail Initialize
|
8
|
+
has_paper_trail :class_name => 'PhcdevworksScripts::ExtensionVersions'
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
has_many :listings, class_name: 'PhcdevworksScripts::Script::Listing', :through => :urls
|
12
|
+
has_many :urls, class_name: 'PhcdevworksScripts::Script::Url'
|
13
|
+
|
14
|
+
# Form Fields Validation
|
15
|
+
validates :script_extension_name,
|
16
|
+
presence: true
|
17
|
+
|
18
|
+
validates :script_extension_description,
|
19
|
+
presence: true
|
20
|
+
|
21
|
+
validates :script_extension,
|
22
|
+
presence: true
|
23
|
+
|
24
|
+
# Clean URL Define
|
25
|
+
friendly_id :phc_nice_url_slug, use: [:slugged, :finders]
|
26
|
+
|
27
|
+
def phc_nice_url_slug
|
28
|
+
[:script_extension]
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module PhcdevworksScripts
|
2
|
+
class Script::Listing < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper Trail Initialize
|
8
|
+
has_paper_trail :class_name => 'PhcdevworksScripts::ListingVersions'
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
has_many :urls, class_name: 'PhcdevworksScripts::Script::Url', :dependent => :destroy
|
12
|
+
belongs_to :author, class_name: 'PhcdevworksScripts::Script::Author'
|
13
|
+
|
14
|
+
# Form Fields Validation
|
15
|
+
validates :listing_title,
|
16
|
+
presence: true
|
17
|
+
|
18
|
+
validates :listing_description,
|
19
|
+
presence: true
|
20
|
+
|
21
|
+
validates :listing_script_source,
|
22
|
+
format: { with: URI::regexp(%w(http https)), message: "Please follow this URL format http or https://www.**********.com" }
|
23
|
+
|
24
|
+
validates :listing_script_website,
|
25
|
+
format: { with: URI::regexp(%w(http https)), message: "Please follow this URL format http or https://www.**********.com" }
|
26
|
+
|
27
|
+
validates :listing_script_repo,
|
28
|
+
format: { with: URI::regexp(%w(http https)), message: "Please follow this URL format http or https://www.**********.com" }
|
29
|
+
|
30
|
+
# Clean URL Define
|
31
|
+
friendly_id :phc_nice_url_slug, use: [:slugged, :finders]
|
32
|
+
|
33
|
+
def phc_nice_url_slug
|
34
|
+
[:listing_title]
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|