From f3d175a42461cfc23c25e4a515a5aad3246a1948 Mon Sep 17 00:00:00 2001
From: Andrew Brown
Date: Fri, 18 Jan 2019 19:51:42 -0600
Subject: [PATCH] fill in some metric views
---
Gemfile | 2 ++
Gemfile.lock | 9 +++++++-
app/assets/javascripts/application.js | 3 ---
app/assets/stylesheets/theme.scss | 10 ++++-----
app/jobs/metrics_job.rb | 2 +-
app/jobs/word_frequency_metrics_job.rb | 2 +-
app/models/concerns/has_parts_of_speech.rb | 3 ++-
app/views/books/show.html.erb | 6 +++---
app/views/metrics/_age_estimate.html.erb | 2 +-
app/views/metrics/_frequency_table.html.erb | 21 ++++++++++++++++++-
app/views/metrics/_grade_level_scale.html.erb | 2 +-
app/views/metrics/_integer.html.erb | 2 +-
app/views/metrics/_readability_scale.html.erb | 1 +
app/views/metrics/_word_list.html.erb | 7 ++++++-
app/views/metrics/_word_singular.html.erb | 2 +-
15 files changed, 53 insertions(+), 21 deletions(-)
create mode 100644 app/views/metrics/_readability_scale.html.erb
diff --git a/Gemfile b/Gemfile
index ccad4dc..d57ae97 100644
--- a/Gemfile
+++ b/Gemfile
@@ -26,6 +26,8 @@ gem 'material_icons'
# Design
gem 'materialize-sass', '~> 1.0.0'
+gem 'd3-rails'
+gem 'd3-cloud-rails'
# NLP
gem 'birch', github: 'billthompson/birch', branch: 'birch-ruby22'
diff --git a/Gemfile.lock b/Gemfile.lock
index 7c2f735..0ea50a2 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -90,6 +90,11 @@ GEM
thor (~> 0.19.4)
tins (~> 1.6)
crass (1.0.4)
+ d3-cloud-rails (0.0.2)
+ d3-rails (~> 4.10)
+ rails (~> 5.0)
+ d3-rails (4.13.0)
+ railties (>= 3.1)
database_cleaner (1.7.0)
debugger-linecache (1.2.0)
devise (4.5.0)
@@ -132,7 +137,7 @@ GEM
thor (>= 0.14, < 2.0)
json (2.1.0)
jwt (2.1.0)
- libv8 (6.7.288.46.1-x86_64-linux)
+ libv8 (6.7.288.46.1)
loggability (0.14.0)
loofah (2.2.3)
crass (~> 1.0.2)
@@ -307,6 +312,8 @@ DEPENDENCIES
byebug (= 3.4.0)
coffee-rails
coveralls
+ d3-cloud-rails
+ d3-rails
database_cleaner
devise
docx-html
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index a5b8a8f..c12f34a 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -11,8 +11,5 @@
// about supported directives.
//
//= require jquery
-//= require jquery_ujs
-//= require turbolinks
-//= require medium-editor
//= require materialize
//= require_tree .
diff --git a/app/assets/stylesheets/theme.scss b/app/assets/stylesheets/theme.scss
index de91386..ecc8c46 100644
--- a/app/assets/stylesheets/theme.scss
+++ b/app/assets/stylesheets/theme.scss
@@ -3,11 +3,6 @@ body {
font-size: 12pt;
}
-thead {
- background: #F9CE55;
- font-weight: bold;
-}
-
pre {
white-space: pre-wrap;
}
@@ -68,3 +63,8 @@ pre {
height: 100%;
resize: vertical;
}
+
+.word-badge {
+ margin: 0;
+ padding: 2px 5px;
+}
diff --git a/app/jobs/metrics_job.rb b/app/jobs/metrics_job.rb
index 64d342a..9570467 100644
--- a/app/jobs/metrics_job.rb
+++ b/app/jobs/metrics_job.rb
@@ -25,7 +25,7 @@ def compute(corpus, metric_group, computations_to_do)
puts "Done in #{(finish - start).round(5)} seconds. Saving result."
metric = metric_group.metrics.find_or_create_by(name: method)
- metric.update!(value: result, format_style: format_style)
+ metric.update!(value: result.to_json, format_style: format_style)
end
end
diff --git a/app/jobs/word_frequency_metrics_job.rb b/app/jobs/word_frequency_metrics_job.rb
index ea96bd6..c7f014e 100644
--- a/app/jobs/word_frequency_metrics_job.rb
+++ b/app/jobs/word_frequency_metrics_job.rb
@@ -42,7 +42,7 @@ def perform(book_id, *args)
[WordFrequencyService, :word_count, :integer],
[WordFrequencyService, :words_per_paragraph],
[WordFrequencyService, :words_per_sentence],
- [WordFrequencyService, :one_syllable_words],
+ [WordFrequencyService, :one_syllable_words, :integer],
])
end
end
diff --git a/app/models/concerns/has_parts_of_speech.rb b/app/models/concerns/has_parts_of_speech.rb
index a3bfd20..d34f247 100644
--- a/app/models/concerns/has_parts_of_speech.rb
+++ b/app/models/concerns/has_parts_of_speech.rb
@@ -23,6 +23,7 @@ def numbers
@numbers ||= text.strip
.split(' ')
.select { |w| is_numeric?(w) }
+ .uniq
end
def prepositions
@@ -34,7 +35,7 @@ def pronouns
end
def stop_words
- words.select { |word| I18n.t('stop-words').include? word }
+ words.select { |word| I18n.t('stop-words').include? word }.uniq
end
def verbs
diff --git a/app/views/books/show.html.erb b/app/views/books/show.html.erb
index c2903b7..95d7f49 100644
--- a/app/views/books/show.html.erb
+++ b/app/views/books/show.html.erb
@@ -30,15 +30,15 @@
<%= @book.last_indexed %>
-
+
<% @book.metric_groupings.order(:name).each do |metric_grouping| %>
-
-