iron_warbler 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +18 -0
  3. data/app/assets/config/iro_manifest.js +1 -0
  4. data/app/assets/stylesheets/iro/alerts.css +4 -0
  5. data/app/assets/stylesheets/iro/application.css +15 -0
  6. data/app/assets/stylesheets/iro/profiles.css +4 -0
  7. data/app/assets/stylesheets/scaffold.css +80 -0
  8. data/app/controllers/iro/alerts_controller.rb +62 -0
  9. data/app/controllers/iro/application_controller.rb +7 -0
  10. data/app/controllers/iro/profiles_controller.rb +62 -0
  11. data/app/helpers/iro/alerts_helper.rb +4 -0
  12. data/app/helpers/iro/application_helper.rb +4 -0
  13. data/app/helpers/iro/profiles_helper.rb +4 -0
  14. data/app/jobs/iro/application_job.rb +4 -0
  15. data/app/mailers/iro/application_mailer.rb +6 -0
  16. data/app/models/iro/alert.rb +4 -0
  17. data/app/models/iro/application_record.rb +4 -0
  18. data/app/models/iro/profile.rb +4 -0
  19. data/app/views/iro/alerts/_form.html.erb +47 -0
  20. data/app/views/iro/alerts/edit.html.erb +6 -0
  21. data/app/views/iro/alerts/index.html.erb +37 -0
  22. data/app/views/iro/alerts/new.html.erb +5 -0
  23. data/app/views/iro/alerts/show.html.erb +34 -0
  24. data/app/views/iro/application/home.haml +2 -0
  25. data/app/views/iro/profiles/_form.html.erb +32 -0
  26. data/app/views/iro/profiles/edit.html.erb +6 -0
  27. data/app/views/iro/profiles/index.html.erb +31 -0
  28. data/app/views/iro/profiles/new.html.erb +5 -0
  29. data/app/views/iro/profiles/show.html.erb +19 -0
  30. data/app/views/layouts/iro/application.html.erb +15 -0
  31. data/config/routes.rb +6 -0
  32. data/db/migrate/20231210204830_create_iro_profiles.rb +12 -0
  33. data/db/migrate/20231210205837_create_iro_alerts.rb +16 -0
  34. data/lib/iro/engine.rb +5 -0
  35. data/lib/iro/version.rb +3 -0
  36. data/lib/iro.rb +6 -0
  37. data/lib/iron_warbler/engine.rb-trash +8 -0
  38. data/lib/tasks/iro_tasks.rake +4 -0
  39. metadata +180 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 328398c5d06c2d4277368cbb018f9d07195f5d4ac37d36ccd4d2d721c4be9c87
4
+ data.tar.gz: 67978682d448bf35de60890628e0202ceac6f2e82d22b3721e139b14f5ff2068
5
+ SHA512:
6
+ metadata.gz: 0bb4d650d5754da7542b5e8dda77303d29ab40e5900d37851e97a9ec019d9b7c2e531d2df2c407c9eb3f7bd4af65a6aba64f54734c90537f55f849e2ea9921c1
7
+ data.tar.gz: 5be5e868bf573a6fa3815dea36a012ed0e9cfcda71362c36ed58de30fad603697c9ce9f23e663a1ee08ed5d1ad6df0a455dce66fa64efe37d1f66a6e2813c324
data/Rakefile ADDED
@@ -0,0 +1,18 @@
1
+ require "bundler/setup"
2
+
3
+ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
4
+ load "rails/tasks/engine.rake"
5
+
6
+ load "rails/tasks/statistics.rake"
7
+
8
+ require "bundler/gem_tasks"
9
+
10
+ require "rake/testtask"
11
+
12
+ Rake::TestTask.new(:test) do |t|
13
+ t.libs << 'test'
14
+ t.pattern = 'test/**/*_test.rb'
15
+ t.verbose = false
16
+ end
17
+
18
+ task default: :test
@@ -0,0 +1 @@
1
+ //= link_directory ../stylesheets/iro .css
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,80 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #333;
4
+ margin: 33px;
5
+ }
6
+
7
+ body, p, ol, ul, td {
8
+ font-family: verdana, arial, helvetica, sans-serif;
9
+ font-size: 13px;
10
+ line-height: 18px;
11
+ }
12
+
13
+ pre {
14
+ background-color: #eee;
15
+ padding: 10px;
16
+ font-size: 11px;
17
+ }
18
+
19
+ a {
20
+ color: #000;
21
+ }
22
+
23
+ a:visited {
24
+ color: #666;
25
+ }
26
+
27
+ a:hover {
28
+ color: #fff;
29
+ background-color: #000;
30
+ }
31
+
32
+ th {
33
+ padding-bottom: 5px;
34
+ }
35
+
36
+ td {
37
+ padding: 0 5px 7px;
38
+ }
39
+
40
+ div.field,
41
+ div.actions {
42
+ margin-bottom: 10px;
43
+ }
44
+
45
+ #notice {
46
+ color: green;
47
+ }
48
+
49
+ .field_with_errors {
50
+ padding: 2px;
51
+ background-color: red;
52
+ display: table;
53
+ }
54
+
55
+ #error_explanation {
56
+ width: 450px;
57
+ border: 2px solid red;
58
+ padding: 7px 7px 0;
59
+ margin-bottom: 20px;
60
+ background-color: #f0f0f0;
61
+ }
62
+
63
+ #error_explanation h2 {
64
+ text-align: left;
65
+ font-weight: bold;
66
+ padding: 5px 5px 5px 15px;
67
+ font-size: 12px;
68
+ margin: -7px -7px 0;
69
+ background-color: #c00;
70
+ color: #fff;
71
+ }
72
+
73
+ #error_explanation ul li {
74
+ font-size: 12px;
75
+ list-style: square;
76
+ }
77
+
78
+ label {
79
+ display: block;
80
+ }
@@ -0,0 +1,62 @@
1
+ require_dependency "iro/application_controller"
2
+
3
+
4
+ class Iro::AlertsController < ApplicationController
5
+ before_action :set_alert, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /alerts
8
+ def index
9
+ @alerts = Alert.all
10
+ end
11
+
12
+ # GET /alerts/1
13
+ def show
14
+ end
15
+
16
+ # GET /alerts/new
17
+ def new
18
+ @alert = Alert.new
19
+ end
20
+
21
+ # GET /alerts/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /alerts
26
+ def create
27
+ @alert = Alert.new(alert_params)
28
+
29
+ if @alert.save
30
+ redirect_to @alert, notice: 'Alert was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /alerts/1
37
+ def update
38
+ if @alert.update(alert_params)
39
+ redirect_to @alert, notice: 'Alert was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /alerts/1
46
+ def destroy
47
+ @alert.destroy
48
+ redirect_to alerts_url, notice: 'Alert was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_alert
54
+ @alert = Alert.find(params[:id])
55
+ end
56
+
57
+ # Only allow a list of trusted parameters through.
58
+ def alert_params
59
+ params.require(:alert).permit(:class_name, :kind, :symbol, :direction, :strike, :profile_id)
60
+ end
61
+ end
62
+
@@ -0,0 +1,7 @@
1
+
2
+ class Iro::ApplicationController < ActionController::Base
3
+
4
+ def home
5
+ end
6
+
7
+ end
@@ -0,0 +1,62 @@
1
+ require_dependency "iro/application_controller"
2
+
3
+
4
+ class Iro::ProfilesController < ApplicationController
5
+ before_action :set_profile, only: [:show, :edit, :update, :destroy]
6
+
7
+ # GET /profiles
8
+ def index
9
+ @profiles = Profile.all
10
+ end
11
+
12
+ # GET /profiles/1
13
+ def show
14
+ end
15
+
16
+ # GET /profiles/new
17
+ def new
18
+ @profile = Profile.new
19
+ end
20
+
21
+ # GET /profiles/1/edit
22
+ def edit
23
+ end
24
+
25
+ # POST /profiles
26
+ def create
27
+ @profile = Profile.new(profile_params)
28
+
29
+ if @profile.save
30
+ redirect_to @profile, notice: 'Profile was successfully created.'
31
+ else
32
+ render :new
33
+ end
34
+ end
35
+
36
+ # PATCH/PUT /profiles/1
37
+ def update
38
+ if @profile.update(profile_params)
39
+ redirect_to @profile, notice: 'Profile was successfully updated.'
40
+ else
41
+ render :edit
42
+ end
43
+ end
44
+
45
+ # DELETE /profiles/1
46
+ def destroy
47
+ @profile.destroy
48
+ redirect_to profiles_url, notice: 'Profile was successfully destroyed.'
49
+ end
50
+
51
+ private
52
+ # Use callbacks to share common setup or constraints between actions.
53
+ def set_profile
54
+ @profile = Profile.find(params[:id])
55
+ end
56
+
57
+ # Only allow a list of trusted parameters through.
58
+ def profile_params
59
+ params.require(:profile).permit(:email, :role_name, :user_id)
60
+ end
61
+ end
62
+
@@ -0,0 +1,4 @@
1
+ module Iro
2
+ module AlertsHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Iro
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Iro
2
+ module ProfilesHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Iro
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module Iro
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: 'from@example.com'
4
+ layout 'mailer'
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Iro::Alert < ApplicationRecord
3
+ self.table_name = 'iro_alerts'
4
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Iro::ApplicationRecord < ActiveRecord::Base
3
+ self.abstract_class = true
4
+ end
@@ -0,0 +1,4 @@
1
+
2
+ class Iro::Profile < ApplicationRecord
3
+ self.table_name = 'iro_profiles'
4
+ end
@@ -0,0 +1,47 @@
1
+ <%= form_with(model: alert) do |form| %>
2
+ <% if alert.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(alert.errors.count, "error") %> prohibited this alert from being saved:</h2>
5
+
6
+ <ul>
7
+ <% alert.errors.each do |error| %>
8
+ <li><%= error.full_message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :class_name %>
16
+ <%= form.text_field :class_name %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :kind %>
21
+ <%= form.text_field :kind %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= form.label :symbol %>
26
+ <%= form.text_field :symbol %>
27
+ </div>
28
+
29
+ <div class="field">
30
+ <%= form.label :direction %>
31
+ <%= form.text_field :direction %>
32
+ </div>
33
+
34
+ <div class="field">
35
+ <%= form.label :strike %>
36
+ <%= form.text_field :strike %>
37
+ </div>
38
+
39
+ <div class="field">
40
+ <%= form.label :profile_id %>
41
+ <%= form.number_field :profile_id %>
42
+ </div>
43
+
44
+ <div class="actions">
45
+ <%= form.submit %>
46
+ </div>
47
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Alert</h1>
2
+
3
+ <%= render 'form', alert: @alert %>
4
+
5
+ <%= link_to 'Show', @alert %> |
6
+ <%= link_to 'Back', alerts_path %>
@@ -0,0 +1,37 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Alerts</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Class name</th>
9
+ <th>Kind</th>
10
+ <th>Symbol</th>
11
+ <th>Direction</th>
12
+ <th>Strike</th>
13
+ <th>Profile</th>
14
+ <th colspan="3"></th>
15
+ </tr>
16
+ </thead>
17
+
18
+ <tbody>
19
+ <% @alerts.each do |alert| %>
20
+ <tr>
21
+ <td><%= alert.class_name %></td>
22
+ <td><%= alert.kind %></td>
23
+ <td><%= alert.symbol %></td>
24
+ <td><%= alert.direction %></td>
25
+ <td><%= alert.strike %></td>
26
+ <td><%= alert.profile_id %></td>
27
+ <td><%= link_to 'Show', alert %></td>
28
+ <td><%= link_to 'Edit', edit_alert_path(alert) %></td>
29
+ <td><%= link_to 'Destroy', alert, method: :delete, data: { confirm: 'Are you sure?' } %></td>
30
+ </tr>
31
+ <% end %>
32
+ </tbody>
33
+ </table>
34
+
35
+ <br>
36
+
37
+ <%= link_to 'New Alert', new_alert_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Alert</h1>
2
+
3
+ <%= render 'form', alert: @alert %>
4
+
5
+ <%= link_to 'Back', alerts_path %>
@@ -0,0 +1,34 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Class name:</strong>
5
+ <%= @alert.class_name %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Kind:</strong>
10
+ <%= @alert.kind %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Symbol:</strong>
15
+ <%= @alert.symbol %>
16
+ </p>
17
+
18
+ <p>
19
+ <strong>Direction:</strong>
20
+ <%= @alert.direction %>
21
+ </p>
22
+
23
+ <p>
24
+ <strong>Strike:</strong>
25
+ <%= @alert.strike %>
26
+ </p>
27
+
28
+ <p>
29
+ <strong>Profile:</strong>
30
+ <%= @alert.profile_id %>
31
+ </p>
32
+
33
+ <%= link_to 'Edit', edit_alert_path(@alert) %> |
34
+ <%= link_to 'Back', alerts_path %>
@@ -0,0 +1,2 @@
1
+
2
+ Hello, Iro Wor!
@@ -0,0 +1,32 @@
1
+ <%= form_with(model: profile) do |form| %>
2
+ <% if profile.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(profile.errors.count, "error") %> prohibited this profile from being saved:</h2>
5
+
6
+ <ul>
7
+ <% profile.errors.each do |error| %>
8
+ <li><%= error.full_message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :email %>
16
+ <%= form.text_field :email %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :role_name %>
21
+ <%= form.text_field :role_name %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= form.label :user_id %>
26
+ <%= form.number_field :user_id %>
27
+ </div>
28
+
29
+ <div class="actions">
30
+ <%= form.submit %>
31
+ </div>
32
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Profile</h1>
2
+
3
+ <%= render 'form', profile: @profile %>
4
+
5
+ <%= link_to 'Show', @profile %> |
6
+ <%= link_to 'Back', profiles_path %>
@@ -0,0 +1,31 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Profiles</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Email</th>
9
+ <th>Role name</th>
10
+ <th>User</th>
11
+ <th colspan="3"></th>
12
+ </tr>
13
+ </thead>
14
+
15
+ <tbody>
16
+ <% @profiles.each do |profile| %>
17
+ <tr>
18
+ <td><%= profile.email %></td>
19
+ <td><%= profile.role_name %></td>
20
+ <td><%= profile.user_id %></td>
21
+ <td><%= link_to 'Show', profile %></td>
22
+ <td><%= link_to 'Edit', edit_profile_path(profile) %></td>
23
+ <td><%= link_to 'Destroy', profile, method: :delete, data: { confirm: 'Are you sure?' } %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+
29
+ <br>
30
+
31
+ <%= link_to 'New Profile', new_profile_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Profile</h1>
2
+
3
+ <%= render 'form', profile: @profile %>
4
+
5
+ <%= link_to 'Back', profiles_path %>
@@ -0,0 +1,19 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Email:</strong>
5
+ <%= @profile.email %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Role name:</strong>
10
+ <%= @profile.role_name %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>User:</strong>
15
+ <%= @profile.user_id %>
16
+ </p>
17
+
18
+ <%= link_to 'Edit', edit_profile_path(@profile) %> |
19
+ <%= link_to 'Back', profiles_path %>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Iro</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= csp_meta_tag %>
7
+
8
+ <%= stylesheet_link_tag "iro/application", media: "all" %>
9
+ </head>
10
+ <body>
11
+
12
+ <%= yield %>
13
+
14
+ </body>
15
+ </html>
data/config/routes.rb ADDED
@@ -0,0 +1,6 @@
1
+ IronWarbler::Engine.routes.draw do
2
+ resources :alerts
3
+ root to: 'application#home'
4
+
5
+ resources :profiles
6
+ end
@@ -0,0 +1,12 @@
1
+ class CreateIroProfiles < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :iro_profiles do |t|
4
+
5
+ t.string :email
6
+ t.string :role_name
7
+ t.integer :user_id
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+
2
+ class CreateIroAlerts < ActiveRecord::Migration[6.1]
3
+ def change
4
+ create_table :iro_alerts do |t|
5
+
6
+ t.string :class_name
7
+ t.string :kind
8
+ t.string :symbol
9
+ t.string :direction
10
+ t.float :strike
11
+ t.integer :profile_id
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
data/lib/iro/engine.rb ADDED
@@ -0,0 +1,5 @@
1
+ module IronWarbler
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Iro
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Iro
2
+ VERSION = '0.1.0'
3
+ end
data/lib/iro.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "iro/version"
2
+ require "iro/engine"
3
+
4
+ module Iro
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,8 @@
1
+
2
+ require 'iro/engine'
3
+
4
+ module IronWarbler
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace Iro
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :iro do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iron_warbler
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Victor Pudeyev
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-12-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 6.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: httparty
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.21.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.21.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: jwt
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.3.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: jbuilder
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.11.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.11.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: mysql2
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.5.5
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.5.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: cancancan
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 3.4.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 3.4.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: haml
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 5.2.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 5.2.0
111
+ description: Stocks and Options Trading Bot
112
+ email: victor@wasya.co
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - Rakefile
118
+ - app/assets/config/iro_manifest.js
119
+ - app/assets/stylesheets/iro/alerts.css
120
+ - app/assets/stylesheets/iro/application.css
121
+ - app/assets/stylesheets/iro/profiles.css
122
+ - app/assets/stylesheets/scaffold.css
123
+ - app/controllers/iro/alerts_controller.rb
124
+ - app/controllers/iro/application_controller.rb
125
+ - app/controllers/iro/profiles_controller.rb
126
+ - app/helpers/iro/alerts_helper.rb
127
+ - app/helpers/iro/application_helper.rb
128
+ - app/helpers/iro/profiles_helper.rb
129
+ - app/jobs/iro/application_job.rb
130
+ - app/mailers/iro/application_mailer.rb
131
+ - app/models/iro/alert.rb
132
+ - app/models/iro/application_record.rb
133
+ - app/models/iro/profile.rb
134
+ - app/views/iro/alerts/_form.html.erb
135
+ - app/views/iro/alerts/edit.html.erb
136
+ - app/views/iro/alerts/index.html.erb
137
+ - app/views/iro/alerts/new.html.erb
138
+ - app/views/iro/alerts/show.html.erb
139
+ - app/views/iro/application/home.haml
140
+ - app/views/iro/profiles/_form.html.erb
141
+ - app/views/iro/profiles/edit.html.erb
142
+ - app/views/iro/profiles/index.html.erb
143
+ - app/views/iro/profiles/new.html.erb
144
+ - app/views/iro/profiles/show.html.erb
145
+ - app/views/layouts/iro/application.html.erb
146
+ - config/routes.rb
147
+ - db/migrate/20231210204830_create_iro_profiles.rb
148
+ - db/migrate/20231210205837_create_iro_alerts.rb
149
+ - lib/iro.rb
150
+ - lib/iro/engine.rb
151
+ - lib/iro/version.rb
152
+ - lib/iron_warbler/engine.rb-trash
153
+ - lib/tasks/iro_tasks.rake
154
+ homepage: https://wasya.co
155
+ licenses:
156
+ - Proprietary
157
+ metadata:
158
+ homepage_uri: https://wasya.co
159
+ source_code_uri: https://wasya.co
160
+ changelog_uri: https://wasya.co
161
+ post_install_message:
162
+ rdoc_options: []
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubygems_version: 3.1.6
177
+ signing_key:
178
+ specification_version: 4
179
+ summary: Stocks and Options Trading Bot
180
+ test_files: []