profile
viewpoint
Daniel P. Clark danielpclark 6ft Dan(TM) Winchester, VA http://www.6ftdan.com I really enjoy Ruby, Rust, and Linux. Blogger and educator on all things technical and personal development. I code for charity, fun, and income.

danielpclark/array_tool 51

Array helpers for Rust's Vector and String types

danielpclark/CardsLib 27

The "smartest" OO Card Game Library

danielpclark/abrute 20

Multi-threaded AES Brute Force File Decryption

danielpclark/acts_as_encryptable 17

Simple record encryption implemented with Rails existing encryption methods.

danielpclark/color_pound_spec_reporter 17

Beautiful Minitest Color Reporter

danielpclark/clock_window 6

Clock your own desktop activity! Open for feature requests and contributors!

danielpclark/assign 3

Add Kernel#assign for multiple assignment with method calls. Feature Request #11690 in Ruby.

danielpclark/algorithm_practice 2

Practicing examples from "Introduction to The Design & Analysis of Algorithms"

danielpclark/base_custom 2

Rust implementation of custom numeric base conversion.

issue closedrubygems/rubygems

fish shell not setting the correct exit status flag in bundle check

According to the website: https://bundler.io/man/bundle-check.1.html

check searches the local machine for each of the gems requested in the Gemfile. If all gems are found, Bundler prints a success message and exits with a status of 0.

If not, the first missing gem is listed and Bundler exits status 1.

When I change a gem version in the Gemfile without running bundle install or bundle update I get the following message from bundle check:

Bundler can't satisfy your Gemfile's dependencies.
Install missing gems with `bundle install`.

And the exit status is always 0.

This is not the desired behavior. I need the exit status to be a non-zero number at least.

Environment

Bundler             1.17.1
  Platforms         ruby, x86_64-linux
Ruby                2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
  Full Path         /home/user/.rvm/rubies/ruby-2.5.3/bin/ruby
  Config Dir        /home/user/.rvm/rubies/ruby-2.5.3/etc
RubyGems            2.7.7
  Gem Home          /home/user/.rvm/gems/ruby-2.5.3
  Gem Path          /home/user/.rvm/gems/ruby-2.5.3:/home/user/.rvm/gems/ruby-2.5.3@global
  User Path         /home/user/.gem/ruby/2.5.0
  Bin Dir           /home/user/.rvm/gems/ruby-2.5.3/bin
Tools               
  Git               2.17.1
  RVM               1.29.4 latest
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.5)

Bundler Build Metadata

Built At          2018-10-25
Git SHA           2760d72d3
Released Version  true

Bundler settings

gem.test
  Set for the current user (/home/user/.bundle/config): "minitest"
gem.mit
  Set for the current user (/home/user/.bundle/config): true
gem.coc
  Set for the current user (/home/user/.bundle/config): false

closed time in 21 days

danielpclark

issue commentrubygems/rubygems

fish shell not setting the correct exit status flag in bundle check

It seems I had a wrapper function written for fish in ~/.config/fish/functions/bundle.fish so it's my fault for not handling the return value on this. Thanks!

danielpclark

comment created time in 21 days

issue commentrubygems/rubygems

fish shell not setting the correct exit status flag in bundle check

I'm still experiencing this. To reproduce I put a gem in the Gemfile, did not install it, and then the commands above.

Environment [969/1312]

Bundler       2.1.4                                                                       
  Platforms   ruby, x86_64-linux                                                          
Ruby          2.7.1p83 (2020-03-31 revision a0c7c23c9cec0d0ffcba012279cd652d28ad5bf3) [x86_64-linux]
  Full Path   /home/danielpclark/.rbenv/versions/2.7.1/bin/ruby
  Config Dir  /home/danielpclark/.rbenv/versions/2.7.1/etc
RubyGems      3.1.4            
  Gem Home    /home/danielpclark/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0                
  Gem Path    /home/danielpclark/.gem/ruby/2.7.0:/home/danielpclark/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0
  User Home   /home/danielpclark             
  User Path   /home/danielpclark/.gem/ruby/2.7.0                                          
  Bin Dir     /home/danielpclark/.rbenv/versions/2.7.1/bin
Tools                                                                                     
  Git         2.25.1                                                                      
  RVM         not installed                                                               
  rbenv       rbenv 1.1.2-11-gc46a970     
  chruby      not installed                                                                                                                                                         

Bundler Build Metadata

Built At          2020-06-03                                                                                                                                                        
Git SHA           32a4159325                                                              
Released Version  false
danielpclark

comment created time in 21 days

issue closeddanielpclark/rutie

Get `is_frozen` check to work in `RString.force_encoding`

Ruby 2.3.7 & 2.4.4 fail on CI servers for all OSes because of the is_frozen check here. Works with Ruby 2.5.1 everywhere though and works on both my machine and Docker with all Ruby versions. <strike>May be CI binaries related</strike> but that doesn't explain why is_frozen works elsewhere on the CI same systems. Either get this to work on the CI servers or wait till EOL for Ruby 2.3 and 2.4.

if self.is_frozen() {
    return Err(AnyException::new("FrozenError", Some("can't modify frozen String")));
}

https://github.com/danielpclark/rutie/blob/master/src/class/string.rs

I've tried it with send("frozen?", protect_send("frozen?", rb_obj_frozen_p, and re-implemented is_frozen completely in Rust with bit flags and they all produced the same results described above.

closed time in a month

danielpclark

PR merged danielpclark/rutie

Make generated class!es FFI compatible

This should fix #128 and make rutie warning-free on rust v1.46.

+2 -0

4 comments

1 changed file

NeoLegends

pr closed time in a month

push eventdanielpclark/rutie

Moritz Gunz

commit sha 1ad2e05ab525eef61a816287f8f0dd12f301775c

Make generated class!es FFI compatible Fixes #128.

view details

Daniel P. Clark

commit sha 028431d4c458acd91158dbe0e63bb880241cd254

Account for foreign types implementing local traits

view details

Daniel P. Clark

commit sha 1e59f3751a5f2a841b18dbdd1f9f90cf1c993c17

bump version

view details

push time in a month

PR merged danielpclark/rutie

Develop
+11 -14

0 comment

4 changed files

danielpclark

pr closed time in a month

issue closeddanielpclark/rutie

FFI safe errors on Rust 1.46

Our CI just bumped the Rust toolchain to 1.46 and we started seeing FFI errors. I would expect the safe FFI annotations to be declared by Rutie, so all projects that use this library don't need to change their code, but I don't know if that's possible.

These are the errors:

15 | class!(BundleRemaps);
   | ^^^^^^^^^^^^^^^^^^^^^
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: `extern` fn uses type `BundleRemaps`, which is not FFI-safe
  --> mesh-ruby/src/lib.rs:19:5
   |
19 |     BundleRemaps,
   |     ^^^^^^^^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here

closed time in a month

calavera

PR opened danielpclark/rutie

Develop
+11 -14

0 comment

4 changed files

pr created time in a month

push eventdanielpclark/rutie

Daniel P. Clark

commit sha 1e59f3751a5f2a841b18dbdd1f9f90cf1c993c17

bump version

view details

push time in a month

push eventdanielpclark/rutie

Daniel P. Clark

commit sha f6894d40afac5d6fab949a70ad8814cd94a0e21c

Merge pull request #129 from danielpclark/develop Develop

view details

Moritz Gunz

commit sha 1ad2e05ab525eef61a816287f8f0dd12f301775c

Make generated class!es FFI compatible Fixes #128.

view details

Daniel P. Clark

commit sha 028431d4c458acd91158dbe0e63bb880241cd254

Account for foreign types implementing local traits

view details

push time in a month

pull request commentdanielpclark/rutie

Make generated class!es FFI compatible

@NeoLegends

But why does this have to do anything with merging and releasing this PR?

The tests would not pass for Stable or Nightly and that is what this project tests against. I believe I'll need to update it so that every local trait implements this instead of the more convenient way that has. This is highly depended upon.

NeoLegends

comment created time in a month

pull request commentdanielpclark/rutie

Make generated class!es FFI compatible

I must have missed some changes to the Rust language. This evening I couldn't get past the following:

error[E0210]: type parameter `Obj` must be used as the type parameter for some local type (e.g., `MyStruct<Obj>`)
    --> src/class/traits/object.rs:1401:1
     |
1401 | impl<Obj: Object> From<Value> for Option<Obj> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type parameter `Obj` must be used as the type parameter for some local type
     |
     = note: only traits defined in the current crate can be implemented for a type parameter

error: aborting due to previous error

I'll have to look into this more another day.

NeoLegends

comment created time in a month

pull request commentdanielpclark/rutie

Make generated class!es FFI compatible

@NeoLegends @calavera I'll try and get to this and make a release this evening.

NeoLegends

comment created time in a month

push eventdanielpclark/rutie

Paul Woolcock

commit sha d7521023cd66c80a2085d53f72d5955c1765d480

Make `Option<VerifiedObject>` a `VerifiedObject` This allows people to use `Option<SOME_VERIFIED_OBJECT>` in methods instead of taking AnyObject and converting

view details

Daniel P. Clark

commit sha d7c6f31f57515d445c90b370f7d421135a19217f

Merge pull request #127 from pwoolcoc/add-option-as-verified-object Make `Option<VerifiedObject>` a `VerifiedObject`

view details

Daniel P. Clark

commit sha f6894d40afac5d6fab949a70ad8814cd94a0e21c

Merge pull request #129 from danielpclark/develop Develop

view details

push time in 2 months

PR merged danielpclark/rutie

Develop
+30 -1

0 comment

2 changed files

danielpclark

pr closed time in 2 months

PR opened danielpclark/rutie

Develop
+30 -1

0 comment

2 changed files

pr created time in 2 months

push eventdanielpclark/rutie

Paul Woolcock

commit sha d7521023cd66c80a2085d53f72d5955c1765d480

Make `Option<VerifiedObject>` a `VerifiedObject` This allows people to use `Option<SOME_VERIFIED_OBJECT>` in methods instead of taking AnyObject and converting

view details

Daniel P. Clark

commit sha d7c6f31f57515d445c90b370f7d421135a19217f

Merge pull request #127 from pwoolcoc/add-option-as-verified-object Make `Option<VerifiedObject>` a `VerifiedObject`

view details

push time in 2 months

PR merged danielpclark/rutie

Make `Option<VerifiedObject>` a `VerifiedObject`

This allows people to use Option<SOME_VERIFIED_OBJECT> in method signatures instead of taking AnyObject and converting.

+30 -1

1 comment

2 changed files

pwoolcoc

pr closed time in 2 months

pull request commentdanielpclark/rutie

Make `Option<VerifiedObject>` a `VerifiedObject`

@pwoolcoc Thanks! This is nice!

pwoolcoc

comment created time in 2 months

PullRequestReviewEvent

startedexcid3/noticed

started time in 3 months

more