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.
- checksums.yaml +7 -0
- data/Rakefile +18 -0
- data/app/assets/config/iro_manifest.js +1 -0
- data/app/assets/stylesheets/iro/alerts.css +4 -0
- data/app/assets/stylesheets/iro/application.css +15 -0
- data/app/assets/stylesheets/iro/profiles.css +4 -0
- data/app/assets/stylesheets/scaffold.css +80 -0
- data/app/controllers/iro/alerts_controller.rb +62 -0
- data/app/controllers/iro/application_controller.rb +7 -0
- data/app/controllers/iro/profiles_controller.rb +62 -0
- data/app/helpers/iro/alerts_helper.rb +4 -0
- data/app/helpers/iro/application_helper.rb +4 -0
- data/app/helpers/iro/profiles_helper.rb +4 -0
- data/app/jobs/iro/application_job.rb +4 -0
- data/app/mailers/iro/application_mailer.rb +6 -0
- data/app/models/iro/alert.rb +4 -0
- data/app/models/iro/application_record.rb +4 -0
- data/app/models/iro/profile.rb +4 -0
- data/app/views/iro/alerts/_form.html.erb +47 -0
- data/app/views/iro/alerts/edit.html.erb +6 -0
- data/app/views/iro/alerts/index.html.erb +37 -0
- data/app/views/iro/alerts/new.html.erb +5 -0
- data/app/views/iro/alerts/show.html.erb +34 -0
- data/app/views/iro/application/home.haml +2 -0
- data/app/views/iro/profiles/_form.html.erb +32 -0
- data/app/views/iro/profiles/edit.html.erb +6 -0
- data/app/views/iro/profiles/index.html.erb +31 -0
- data/app/views/iro/profiles/new.html.erb +5 -0
- data/app/views/iro/profiles/show.html.erb +19 -0
- data/app/views/layouts/iro/application.html.erb +15 -0
- data/config/routes.rb +6 -0
- data/db/migrate/20231210204830_create_iro_profiles.rb +12 -0
- data/db/migrate/20231210205837_create_iro_alerts.rb +16 -0
- data/lib/iro/engine.rb +5 -0
- data/lib/iro/version.rb +3 -0
- data/lib/iro.rb +6 -0
- data/lib/iron_warbler/engine.rb-trash +8 -0
- data/lib/tasks/iro_tasks.rake +4 -0
- 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,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,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,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,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,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,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,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,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,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 %>
|
data/config/routes.rb
ADDED
@@ -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
data/lib/iro/version.rb
ADDED
data/lib/iro.rb
ADDED
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: []
|