tech_radar 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/tech_radar/radar.rb +16 -2
- data/app/models/tech_radar/rendering/{Markdown.rb → markdown.rb} +0 -0
- data/app/models/tech_radar/rendering/{Plaintext.rb → plaintext.rb} +0 -0
- data/app/models/tech_radar/technology.rb +1 -1
- data/lib/tech_radar/version.rb +1 -1
- data/test/controllers/tech_radar/quadrants_controller_test.rb +1 -1
- data/test/controllers/tech_radar/technologies_controller_test.rb +3 -3
- data/test/dummy/config/initializers/backtrace_silencers.rb +1 -1
- data/test/dummy/config/tech-radar.yml +16 -0
- data/test/dummy/log/test.log +1153 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0A/0AmQlwadiESqLiDbBHv-cz90lvlFaU4kIrkiTBW20kw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0E/0EXotS98AUY4txQLF_Pi-Q1J_WafL2GD_m_aZtcEhig.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/71/71nL6PEO61Wyxg_1MewpQNraz__WvOrOx2btzM1FNTc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/86/86B5GM_SNnhkkYQkhVa0bFW2VuexkKM4OPuNyM3qYUQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/A_/A_IV6Bpacf1PZoy42TB4Z3KuW1-MVzSNi8EJl4KHZes.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/B6/B6z4VaDCuYMIV4QKzAxh1rXOR5k131kRbdjvSBNntjA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BT/BTYBzzE3HQYx4aAYP2UYFnHHWgiRlsD9MrlHu5eaFdg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BV/BVcivzW-wmUYbgmMWJ2Ah97ai-XwSaJAtcC8NrHzmNg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ex/ExmO5_Val1Y7VJGCSLFP1wx8iANj0Wirfm6PhW_PJRM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FF/FFt-jwCHyJIUJ2ThHpELuMkMeoOe717eQRNboZTTBMk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/GK/GKX8C94_byxdvSgDsJJ8RiEHn_6SO2qSE1wKFkY7RaU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KV/KVUcCu-OyCM6GXenLaFx3Ad4RDvz5cLOhVGKQPdvMHU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LW/LWqhrEYdgeo3nFa-9SS7aFLFL8IiRKbiPPmTcCoXnXg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MD/MD3DPhlAqRfE1DLXhbJAKDTKQkW6UDGWmphRtQ29IZI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Os/OsyjR9AxH7M4NFnoCjXJ2_jXvJYW3A3vcEXS8_AU5w4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X1/X17E_hQiWRCM38iR5NTruI8CqF3BdEXj0jxQ0OMYmZM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y7/Y7UQ3LFBHK78LKJjKhfRsL2wfXaOmzva98lV1-ShZP8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fH/fHwKShI5Bs3QjMegUT6NEeNi0MNJXWf1zElliAGdASs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/h7/h7m5UncXch3Mj2UCRWJfDkxs-he6I3r2dfrpxuXPpL4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jJ/jJn-pTmcRn_vvQB0XmCX5fVauT4zqDxQvAqjXYrPI_k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kf/kfWPU-CVtbbzGwehZ2_4SJ1bMYFXf-Kua_p79T0ikOc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/oM/oMLu_HcRTjb8KAa6RU63BTz6o_UcZf5jRLTuY1dCDAA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pB/pB3TdWzGFh7SlhR0w5qtDsRp8RXIIenyOBez58_rObA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ta/taD2ZeM2EDxF-4ljz0YnKpYrdzNwIie29Aatzzq3aTU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vX/vXA69MMItyuyxADK-8ttNpm6XvZ0Z3MYncLT6i2J2v4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xY/xYECPJKPtYeLPCk5SLDtk0_kQrKJKZ3ScIyUtdxvCPA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yo/yoPNbzmf4gdjZI-U7hTSEfh3ObRHdGTHrWnUsFHXknk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yr/yrUebpV2K9g51hXIPWF4R_oMhvWeKzNMFCe32WfjJZw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zA/zAH0wIR2ufw1oP14a_3Lf2mJG1XGX2lLBJHNrJp01rI.cache +2 -0
- data/test/models/tech_radar/radar_test.rb +19 -5
- metadata +71 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e111da0bd6f0b8fb8a64f58695c680cf39012de
|
4
|
+
data.tar.gz: b0718462b290d0e5a53e6175a42178e3363e59aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5167433bc2c99ced3066d2ec73b9914f7b9e13c4e9e4c694e36eac0a4dd64e902bcbf9391c3c29923087174aa8eea3a91969c619890350e4e9ecfad629b737a
|
7
|
+
data.tar.gz: eb4f68766bb3c16fd78fba39f0380c96dd6cd5f601b021c39af85010dffb2aa300efa0fa47d3753680e00632047214e62e15323b5640ecb8ff208650efb03449
|
@@ -24,6 +24,9 @@ module TechRadar
|
|
24
24
|
more_details_url: data["more_details_url"],
|
25
25
|
more_details_summary: data["more_details_summary"],
|
26
26
|
why_url: data["why_url"],
|
27
|
+
tags: Array(data["tags"]).sort,
|
28
|
+
experts: Array(data["experts"]).sort,
|
29
|
+
examples: Array(data["examples"]).sort,
|
27
30
|
why_summary: data["why_summary"])
|
28
31
|
end
|
29
32
|
end
|
@@ -45,8 +48,19 @@ module TechRadar
|
|
45
48
|
rings.detect { |ring| ring.name == ring_name }
|
46
49
|
end
|
47
50
|
|
48
|
-
def technologies
|
49
|
-
|
51
|
+
def technologies(options = {})
|
52
|
+
results = quadrants.
|
53
|
+
map(&:rings).
|
54
|
+
flatten.
|
55
|
+
map(&:technologies).
|
56
|
+
flatten
|
57
|
+
|
58
|
+
if options[:tagged]
|
59
|
+
results = results.select { |technology|
|
60
|
+
technology.tags.include?(options[:tagged])
|
61
|
+
}
|
62
|
+
end
|
63
|
+
results.sort_by { |technology| technology.name.downcase }
|
50
64
|
end
|
51
65
|
|
52
66
|
def technology(name)
|
File without changes
|
File without changes
|
@@ -2,4 +2,4 @@ require 'immutable-struct'
|
|
2
2
|
|
3
3
|
module TechRadar
|
4
4
|
end
|
5
|
-
TechRadar::Technology = ImmutableStruct.new(:name, :ring, :quadrant, :purpose, :why_summary, :why_url, :more_details_summary, :more_details_url)
|
5
|
+
TechRadar::Technology = ImmutableStruct.new(:name, :ring, :quadrant, :purpose, :why_summary, :why_url, :more_details_summary, :more_details_url, [:tags], [:experts], [:examples])
|
data/lib/tech_radar/version.rb
CHANGED
@@ -7,7 +7,7 @@ module TechRadar
|
|
7
7
|
end
|
8
8
|
|
9
9
|
test "show" do
|
10
|
-
get :show, id: "Tools"
|
10
|
+
get :show, params: { id: "Tools" }
|
11
11
|
assert_response :success
|
12
12
|
assert response.body =~ /RabbitMQ.*Resque.*ElasticSearch.*HumbleKit.*Redis as a database.*Sidekiq.*JIRA.*SwiftTask/m,
|
13
13
|
"Expected #{response.body} to contain all 'Tools' technologies, ordered by ring, then name"
|
@@ -36,14 +36,14 @@ module TechRadar
|
|
36
36
|
end
|
37
37
|
|
38
38
|
test "show with no more_details_url or more_details_summary" do
|
39
|
-
get :show, id: "RabbitMQ"
|
39
|
+
get :show, params: { id: "RabbitMQ" }
|
40
40
|
assert_response :success
|
41
41
|
assert response.body.include?("RabbitMQ"),"Expected #{response.body} to include 'RabbitMQ'"
|
42
42
|
assert response.body.include?("Google"),"Expected #{response.body} to include a link to a Google search"
|
43
43
|
end
|
44
44
|
|
45
45
|
test "show with no more_details_url but has a more_details_summary" do
|
46
|
-
get :show, id: "Ruby"
|
46
|
+
get :show, params: { id: "Ruby" }
|
47
47
|
assert_response :success
|
48
48
|
assert response.body.include?("Ruby"),"Expected #{response.body} to include 'Ruby'"
|
49
49
|
refute response.body.include?("Google"),"Expected #{response.body} NOT to include a link to a Google search"
|
@@ -51,7 +51,7 @@ module TechRadar
|
|
51
51
|
end
|
52
52
|
|
53
53
|
test "show with more_details_url" do
|
54
|
-
get :show, id: "Resque"
|
54
|
+
get :show, params: { id: "Resque" }
|
55
55
|
assert_response :success
|
56
56
|
assert response.body.include?("Resque"),"Expected #{response.body} to include 'Resque'"
|
57
57
|
refute response.body.include?("Google"),"Expected #{response.body} NOT to include a link to a Google search"
|
@@ -4,4 +4,4 @@
|
|
4
4
|
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
5
|
|
6
6
|
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
-
|
7
|
+
Rails.backtrace_cleaner.remove_silencers!
|
@@ -3,6 +3,9 @@
|
|
3
3
|
Resque:
|
4
4
|
purpose: "Background Jobs"
|
5
5
|
more_details_url: https://github.com/resque/resque/tree/1-x-stable
|
6
|
+
tags:
|
7
|
+
- background jobs
|
8
|
+
- middleware
|
6
9
|
RabbitMQ:
|
7
10
|
purpose: "Messaging"
|
8
11
|
"Trial":
|
@@ -36,6 +39,8 @@
|
|
36
39
|
Heroku:
|
37
40
|
purpose: "Infrastructure"
|
38
41
|
more_details_url:
|
42
|
+
tags:
|
43
|
+
- middleware
|
39
44
|
"Trial":
|
40
45
|
iOS:
|
41
46
|
purpose: "Mobile Application Development"
|
@@ -77,6 +82,17 @@
|
|
77
82
|
purpose: Middleware Programming
|
78
83
|
more_details_url: https://www.ruby-lang.org/en/
|
79
84
|
more_details_summary: "Ruby is a dynamic, _object-oriented_ programming language that combines ideas from Smalltalk, Perl, and others"
|
85
|
+
tags:
|
86
|
+
- middleware
|
87
|
+
- scripting
|
88
|
+
- cli
|
89
|
+
examples:
|
90
|
+
- http://rubyonrails.org
|
91
|
+
- http://github.com/stitchfix/stitches
|
92
|
+
experts:
|
93
|
+
- Matz
|
94
|
+
- Tenderlove
|
95
|
+
- DHH
|
80
96
|
"Trial":
|
81
97
|
CoffeeScript:
|
82
98
|
purpose: Browser Programming
|