Sonar Ruby Plugin - Saikuro returns no results - ruby

I'm really stuck on this one. I built the Godaddy Ruby plugin for Sonar and it seems to run fine, I can log out results from Cane and others, but at this line:
https://github.com/GoDaddy-Hosting/ruby-sonar-plugin/blob/master/src/main/java/com/godaddy/sonar/ruby/metricfu/MetricfuComplexityYamlParserImpl.java#L38
I get a null pointer exception because Saikuro doesn't seem to be in that object. I'm wondering if I'm missing a configuration item or something. Has anyone seen this problem?
What's more annoying is that if I comment out the offending code, none of the results of the other analysis tools get saved to Sonar. I get a massive MetricFu results.yml but nothing is reported to Sonar.

A quick glance at the code looks like it might rely on the old metric_fu interface... Your version of metric_fu might be too new for the above code. Please enter an issue on the metric_fu issues tracker and we can help you better, there. https://github.com/metricfu/metric_fu/issues

Related

What is causing my rubymine test results runtime to be in days?

The project I work on is ruby BE, react FE, with end to end tests written in capybara/cucumber.
Due to some configuration file or something I'm guessing, when I run the tests, the output states several hours per test and I'm not sure where this is coming from, any ideas?
That appears to be a known problem in RubyMine:
https://youtrack.jetbrains.com/issue/RUBY-28351/Timing-seems-off-when-running-Cucumber-test
Please add your vote there specifying also the IDE's version.

How to debug quickly in phoenix/elixir?

As I am learning Elixir/Phoenix, I happen to run into an issue like this often.
The problem is that this comes from a dependency, so normally I do this:
open deps/something/.../thefile.ex
add some debug code like IO.inspect to see what params are being passed
stop server, recompile with mix deps.recompile something
check the documentation to see what types are expected to that function
compare the types and trace down the problem to my code
This works but I'd like to improve my process, I know I can use Iex to start a repl, but I'd like to get much faster in terms of:
having a repl inside of the error page itself started automatically (like in better_errors gem for Rails)
having a way to see what arguments went into that method without me digging around (could be solved by the former point)
being able to see a method's documentation quickly
Also any other tips are greatly appreciated.
Please open up an issue in Plug: https://github.com/elixir-lang/plug
You have some great suggestions, like accessing the docs and make the arguments explicit. I don't think we can provide a REPL at the place of error though.
EDIT 1: I went ahead and opened an issue here since I got excited about those improvements! :D
EDIT 2: I realize that I should probably have used a comment as this is not quite an answer (yet!)

Does filtering using manual metrics in Sonar still (or again) not work?

I am using Sonar 4.5.5, and I tried to use manual metrics in filters. No luck, also not with the ones provided by default. I searched the archives and Stackoverflow and Jira for that, nothing. Any insights?
Edit: The same behavior applies to version 5.1.2, justed tried that out today.
Never mind, I found out why Sonar behaves like this!
After creating a measurement, it takes another analysis run to activate the measurements. The 'Manual Measures' dialog of any project tells me that in bold letters: "Pending measures are marked with orange box. Their values will be integrated to project during next analysis.". Maybe my question and answer helps others to be faster with this.

Maven & InventoryClickEvent.getClickedInventory();

Whilst coding a fun new trash can for a Minecraft server network that I develop for, I came across a pretty strange, and therefore infuriating, bug concerning Maven. I've been using it for a year or two now and have only gotten a single build error before, when I first started using it. Suddenly, this problem has shown itself.
The red arrows indicate the lines that are causing the build failure.
This is a screenshot of the Maven logs that are causing the issue.
Well, according to the Bukkit API docs (note that the official docs seem to be down, thus third party), the class InventoryClickEvent has no method getClickedInventory().
This fact definitely explains your compilation error. The error comes from your Java compiler, Maven has nothing to do with it.

TestFirst.org Learn_ruby rake and depreciation warnings :should and :expect syntax

After many searches via Google I'm ready to get some input from the community. I'm trying to apply for App Academy in San Francisco and one of the required pre-work is TestFirst's Learn_ruby. I original had this configured on a Linux VM on my windows box. It worked very well. When I ran rake it would list one problem at a time; the text was is helpful colors; and the output was very condensed so I only got what I needed to read. I've recently wiped and configured my system as a dual boot Xubuntu 14.04/ Windows and the VM I once had is long gone. I worked to get Ruby setup in my linux vm just as I had done in the VM.
My problem now is when I run rake on my projects I get the same depreciation warning:
Deprecation Warnings:
Using should from rspec-expectations' old :should syntax without
explicitly enabling the syntax is deprecated. Use the new :expect
syntax or explicitly enable :should instead. Called from
/home/kaji/Projects/learn_ruby/05_silly_blocks/silly_blocks_spec.rb:25:in
`block (3 levels) in '.
After googling this back and forth I understand for the most part what the error is telling me. And I've even found a solution to get it to go away. Thanks to this post: RSpec's New Expectation Syntax, I was able to find a syntax to make the warning go away. (basicly had to change blah.should == # to expect(blah()).to eq(#) inside the *_spec.rb file. This seems to make the warning happy. However I still see signs that I have another problem.
The output isn't as 'friendly' as it was when I was on my VM. It's not in color; it dumps all the errors at once. What I enjoyed the most about learn_ruby was it gave me one objective at a time with minimal output. Now i have to scroll up quite a ways just to see what my issues are.
I've tired removing RVM completely and all gems and reinstalling to see if I could resolve this. No dice. I'm such a Ruby Noobie i'm a little overwhelmed with all this. I'd like to just get back to learning the basics but this has been troubling me for over a week. Has anyone had this problem/fix the except
I've also tried removing the rpsec ~<=2.0 from the Rakefile. I'm using ruby -v 2.1.2, rails 4.1.1 and i have RSpec 3.0.0, 2.99.0, 2.0.0. I even tried finding a tutorial on changing the syntax but it was real confusing as it introduced lots of Ruby concepts I have no idea on. At that point I feel like I'm over my head and there is something simple I'm missing.
Hope I provided enough info for assistance.
I hope I'm answering the correct question, since you seem to have figured out the one in the title (i.e. the preferred syntax having changed from blah.should to expect(blah).to). It would help if you changed the title to reflect the actual question.
RSpec.configure do |config|
config.fail_fast = true
config.color_enabled = true
}
will make RSpec fail at first error, rather than after running all tests, and enable the colours, for that one file.
Or you can run rspec with rspec --fail-fast --color.
Alternately, you can put this in $HOME/.rspec so it always does it:
--fail-fast
--color

Resources