iron_warbler 2.0.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.
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: []